// Programa 	: libinstrooticp.js
// Descricao	: Biblioteca para instalacao de certificado raiz ICP
// Empresa		: Serasa S.A
// Versao		: 2.02 (Julho/2003)
// Autor		: Wendel Benedik Santos

window.onerror=doError;
var teste="xxx";
var funcao="";

function GetCertificate(url)
{
	teste=unescape(url);
	var flagcookie=false;

	if(getCookie("_RootICPACPCD")==null)
	{
		flagcookie=false;
		if (navigator.appName.indexOf("Netscape")!=-1)
		{
			if(parseFloat(navigator.appVersion)<5)
			{
				abretela("tela1","telainstnetscapeantigo.htm");
				return;
			}
			else
			{
				abretela("tela1","telainstnetscapenovo.htm");
				return;
			}
		}	
		var oCapicom=GetCapicom();	
		if(oCapicom==null)
		{
			return;
		}
		if(typeof(oCapicom) != "object")
		{	
			return;
		}
		var oEnroll=GetIControl();
		if(oEnroll==null)
		{
			return;
		}
			if(typeof(oEnroll) != "object")
		{
			return;
		}
		abretela("tela1","telainstie3.htm");
	}
	else
	{
		window.location=geturl();
	}
}

function geturl(){	

	if((teste=="undefined") || (teste=="xxx"))
        {
		if (window.opener && !window.opener.closed)
		{
			teste=unescape(window.opener.document.forms[0].urldestino.value);
		}
	}
	return(teste);
}

function setCookie (name, value) {

	var expdate = new Date();        
	expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 365)); 

      document.cookie = name + "=" + escape (value) + "; expires=" + expdate.toGMTString() +  "; path=/";
	return;
   }


function abretela(janela,pagina) {
  sList = window.open("../instrooticpACPCD/"+pagina, janela, "width=550,height=420,resizable=yes,top=80,left=100, toolbars=yes");
}

function GetIControl()
{
		funcao="GetIControl";
		var oEnroll = new ActiveXObject("CEnroll.CEnroll.2");
		if(typeof(oEnroll) == "object")
		{			
			return oEnroll;
		}	

		var oEnroll = new ActiveXObject("CEnroll.CEnroll.1");
		if(typeof(oEnroll) == "object")
		{
			return oEnroll;
		}	

		var agt=navigator.userAgent.toLowerCase();
		if(agt.indexOf("windows 95")!=-1)
		{
			tela="telainstie2-1.htm";
		}
		else
		{
			tela="telainstie2.htm";
		}

		abretela("tela1",tela);
		return null;

}

function GetCapicom()
{
		funcao="GetCapicom";
		var oCapicom = new ActiveXObject("CAPICOM.Store.1");
		if(typeof(oCapicom) == "object")
		{
			return oCapicom;
		}	
		abretela("tela1","telainstie1.htm");	
		return null;
}


function getCookie (name) {
      var dcookie = document.cookie;
      var cname = name + "=";
      var clen = dcookie.length;
      var cbegin = 0;
      while (cbegin < clen) {
         var vbegin = cbegin + cname.length;

         if (dcookie.substring(cbegin, vbegin) == cname) {
            var vend = dcookie.indexOf (";", vbegin);
            if (vend == -1) vend = clen;
            return unescape(dcookie.substring(vbegin, vend));
         }
         cbegin = dcookie.indexOf(" ", cbegin) + 1;
         if (cbegin == 0) break;
      }
      return null;
   }


function doError()
{

	if(funcao=="GetIControl")
	{

		funcao="";
		var erro=arguments[0];
		var agt=navigator.userAgent.toLowerCase();

		if(agt.indexOf("windows 95")!=-1)
		{
	
			tela="telainstie2-1.htm";
		}
		else
		{
			tela="telainstie2.htm";
		}
	
	
		if( erro.indexOf("criar")> -1)
		{
			abretela("tela1",tela);
			return;
		}
		if( erro.indexOf("create")> -1)
		{
			abretela("tela1",tela);	
			return null;
		}	
	
	
	}
	else if(funcao=="GetCapicom")
	{
		funcao="";
		var erro=arguments[0];
	
			if( erro.indexOf("criar")> -1)
			{		
				abretela("tela1","telainstie1.htm");	
				return null;
			}
			if( erro.indexOf("create")> -1)
			{		
				abretela("tela1","telainstie1.htm");	
				return null;
			}		
			return null;
	
	}
	else if(funcao=="FindCert")
	{
		funcao="";
		var erro=arguments[0];
		abretela("tela1","telainstie3-1.htm");
		return "cancelou";
	}
	
	else if(funcao=="Instala")
	{
	
		funcao="";
		var erro=arguments[0];
		abretela("tela1","telainstie4-1.htm");
		return "cancelou";
	}
	
	if(teste!="xxx") 
    	{
		if (navigator.appName.indexOf("Netscape")!=-1)
		{
			abretela("tela1","telaerro2.htm");
			return;
		}
	
		if( arguments[0].indexOf("cancel")!= -1) 
        	{	
			abretela("tela1","telaerro1.htm");
			return;	
		}
	
		abretela("tela1","telaerro1.htm");
		return;
	}
}

function FindCert(parametro)
{	
		funcao="FindCert";
		if (parametro.length < 2)
		{
			alert("libinstroot:FindCert:Parametro de pesquisa nƒo informado.");
			return false;
		}

		var RootStore = new ActiveXObject("CAPICOM.Store");	

		RootStore.Open(2, "Root", 0);				

		var Certificates = RootStore.Certificates.Find(0,parametro);	


		if(Certificates.Count >=1) {
			RootStore = null;
			Certificates = null;
			return true;
		}
		else {
			RootStore = null;
			Certificates = null;
			return false;
		}				
	
}
function FindCertInterm()
{
		funcao="FindCertInterm";
		var CAStore = new ActiveXObject("CAPICOM.Store");	
		CAStore.Open(2, "CA", 0);				
		var Certificates = CAStore.Certificates.Find(0,"2c719f3b977521f9");	
		if(Certificates.Count >=1) {
			CAStore = null;
			Certificates = null;
			return true;
		}
		else {
			CAStore = null;



			Certificates = null;
			return false;
		}			
}

function InstallCertInterm(cert1, cert2)
{
                funcao="InstallCertInterm";
                var oEnroll=GetIControl();
                if(typeof(oEnroll) != "object")
                {
                        return;
                }               
                var certACP = "MIIEbQYJKoZIhvcNAQcCoIIEXjCCBFoCAQExADALBgkqhkiG9w0BBwGgggRCMIIE\n" +
"PjCCAyagAwIBAgIBDDANBgkqhkiG9w0BAQUFADCBtDELMAkGA1UEBhMCQlIxEzAR\n" +
"BgNVBAoTCklDUC1CcmFzaWwxPTA7BgNVBAsTNEluc3RpdHV0byBOYWNpb25hbCBk\n" +
"ZSBUZWNub2xvZ2lhIGRhIEluZm9ybWFjYW8gLSBJVEkxETAPBgNVBAcTCEJyYXNp\n" +
"bGlhMQswCQYDVQQIEwJERjExMC8GA1UEAxMoQXV0b3JpZGFkZSBDZXJ0aWZpY2Fk\n" +
"b3JhIFJhaXogQnJhc2lsZWlyYTAeFw0wNDA0MjIxNDUwMDBaFw0wOTA0MjIyMzU5\n" +
"MDBaMFYxCzAJBgNVBAYTAkJSMRMwEQYDVQQKEwpJQ1AtQnJhc2lsMTIwMAYDVQQD\n" +
"EylTRVJBU0EgQXV0b3JpZGFkZSBDZXJ0aWZpY2Fkb3JhIFByaW5jaXBhbDCCASIw\n" +
"DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALKJVtdgmDKBA3ITGASBsnSUWo7e\n" +
"X2puf8qYLqcu3L+91PxIhJQ+s4S7w6vEg9thzVW5WcDFg3wTR3s7Dm0ErXZASW2y\n" +
"7MpVfzavAyi4gbIXHksqXaA6M0+lfs8JDJhwFg1+VlLLIN2+habe/g6CRcMg4uMB\n" +
"T7VayT17L7BvGCLRWSGyqt9tm+3knGTG5X4HONDEmJlMZfspz9+oUSRkb2gef1lG\n" +
"RmKVyXJ5VvqWKRuu4pTb7Bs8DWCmZPk2XQqUPfDEe/MaZCyXmD1jm32xZYI5eJ0/\n" +
"jZnIA3wQ/LiGwDL/8WoRMUmpinuVkFp8ZDg3NiCpwsbGtInKiNLg3TVyBXMCAwEA\n" +
"AaOBtzCBtDA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vYWNyYWl6LmljcGJyYXNp\n" +
"bC5nb3YuYnIvTENSYWNyYWl6LmNybDASBgNVHSAECzAJMAcGBWBMAQEDMB0GA1Ud\n" +
"DgQWBBS5E80htIheWA8dW6ji9ZpAm9h2hDAfBgNVHSMEGDAWgBSK+vFXhBETNZBC\n" +
"+ldJVGkNpMTwNzAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zANBgkq\n" +
"hkiG9w0BAQUFAAOCAQEAVNrElF6tJ5rIN/yWhn5/ZTxAxLyGArsAHDhodN+W+U9g\n" +
"tACf/O61hkbVb2rP04QwFvW4r/dx4FX1B63VQ3XhQaoPSBzAB+PFjChikPkCKrkr\n" +
"trf7NTf6suLf3/6N6g7f3XorW+RpCxflrWG7+94mpParFhXo2ROuemC/QUr9tr9X\n" +
"ApVlDOC2yD5pGs8zxJKefU6IsorTHEqPO9HQ6X5Z0TSveZgh1fgy50PluWmMBarT\n" +
"2O0IDfi44fiZrXaxqQpfVi2mbOMkVFAplMsIIDsXF2E8IT+Yefk0ITHHdXcgo/ZN\n" +
"q3Sa50JhmcOC96g+VnERNShdM5W+OoWZBDSLwN8UCTEA";

                 var certCD = "MIIGjQYJKoZIhvcNAQcCoIIGfjCCBnoCAQExADALBgkqhkiG9w0BBwGgggZiMIIG\n" +
"XjCCBUagAwIBAgIILHGfO5d1IfkwDQYJKoZIhvcNAQEFBQAwVjELMAkGA1UEBhMC\n" +
"QlIxEzARBgNVBAoTCklDUC1CcmFzaWwxMjAwBgNVBAMTKVNFUkFTQSBBdXRvcmlk\n" +
"YWRlIENlcnRpZmljYWRvcmEgUHJpbmNpcGFsMB4XDTA0MDQyMzIyNDA1NloXDTA5\n" +
"MDQyMjIyNDA1NlowSTELMAkGA1UEBhMCQlIxEzARBgNVBAoTCklDUC1CcmFzaWwx\n" +
"JTAjBgNVBAMTHFNFUkFTQSBDZXJ0aWZpY2Fkb3JhIERpZ2l0YWwwggEiMA0GCSqG\n" +
"SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/PMh4NZrCOP5faOvLp/CSdN4jo1kzS6jQ\n" +
"FBywbRhEj7tFYCXa+MJ6G8zbLB1wmU/zw9tn3TkQQDthNqZdzezTzwqIEQncXzQu\n" +
"9ft20Ma4dnwH7pmefbnaBn1eEIbzLK91yzwuwVn8S3A34fJEkpziJpAojlPhSF0E\n" +
"SUna9pTEAF/gRBETC/hmiMOFrfwHe3s0TbRrG53HEthKMPQkIjIW9lkM6gRKCZcV\n" +
"QpK3mqY3u6AnVbhF2ECelkUIBTrOxdhbqxp63ryYnYbPenWLCa6wCfJIy94i2BmB\n" +
"fHlpBnewANZNFrsFlb/cBYoP04xEC1Hk8UVtUFwL3YewQrTj/RJNAgMBAAGjggM7\n" +
"MIIDNzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU\n" +
"hX3ZXTn7GANm7mo/78T29kTXXs8wHwYDVR0jBBgwFoAUuRPNIbSIXlgPHVuo4vWa\n" +
"QJvYdoQwggJ9BgNVHSAEggJ0MIICcDBMBgZgTAECAQYwQjBABggrBgEFBQcCARY0\n" +
"aHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJyL3JlcG9zaXRvcmlv\n" +
"L2RwYzBMBgZgTAECAgEwQjBABggrBgEFBQcCARY0aHR0cDovL3d3dy5jZXJ0aWZp\n" +
"Y2Fkb2RpZ2l0YWwuY29tLmJyL3JlcG9zaXRvcmlvL2RwYzBMBgZgTAECAwMwQjBA\n" +
"BggrBgEFBQcCARY0aHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJy\n" +
"L3JlcG9zaXRvcmlvL2RwYzBMBgZgTAECBAEwQjBABggrBgEFBQcCARY0aHR0cDov\n" +
"L3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJyL3JlcG9zaXRvcmlvL2RwYzBM\n" +
"BgZgTAECZQEwQjBABggrBgEFBQcCARY0aHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2Rp\n" +
"Z2l0YWwuY29tLmJyL3JlcG9zaXRvcmlvL2RwYzBMBgZgTAECZgEwQjBABggrBgEF\n" +
"BQcCARY0aHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJyL3JlcG9z\n" +
"aXRvcmlvL2RwYzBMBgZgTAECZwEwQjBABggrBgEFBQcCARY0aHR0cDovL3d3dy5j\n" +
"ZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJyL3JlcG9zaXRvcmlvL2RwYzBMBgZgTAEC\n" +
"aAEwQjBABggrBgEFBQcCARY0aHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwu\n" +
"Y29tLmJyL3JlcG9zaXRvcmlvL2RwYzBTBgNVHR8ETDBKMEigRqBEhkJodHRwOi8v\n" +
"d3d3LmNlcnRpZmljYWRvZGlnaXRhbC5jb20uYnIvcmVwb3NpdG9yaW8vbGNyL1Nl\n" +
"cmFzYUFDUC5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIuBMA/ChG/yYvXtxDRhewhf\n" +
"y3VESKOCTgL35mxQxSW2zAG3ycAGxZGNIvV5Rx+lra6Ydvo04eMhTyH10L7ktYXp\n" +
"5ADW3wOLKZbqKEW7v75RM5dWWcHR/ZYJFJzvQuviYC2yrVp/VYvKx35XKwb2fGHZ\n" +
"zFQ4ZO4asCTECt7+NdA1y4HSS2qAgnCvFtwOByuRAJBMQcB4vDsow1944sEgeDCT\n" +
"cDvSzVNEwM4tdteM7iR4nbqnRKq6ZNuNhKbhGTtvqjodbNnhHAiNT4QySfAuwDZE\n" +
"HQGfeS6figatPt/7bnRaczQCGVlJWNGmY3U7lqDV2p9nVnj41hdyYE5S6Y260rsx\n" +
"AA==";
                var aux=FindCertInterm();

                if(aux==false)
                {                               
                        oEnroll.InstallPCKS7(cert2);    
                        oEnroll.InstallPKCS7(cert1);    
                }
                return true;
}

