67,513
社区成员
发帖
与我相关
我的任务
分享
var oSignedData = new ActiveXObject("CAPICOM.SignedData");
var oVerifyData = new ActiveXObject("CAPICOM.SignedData");
var oStore = new ActiveXObject("CAPICOM.Store");
var oSigner = new ActiveXObject("CAPICOM.Signer.2");
oStore.Open(CAPICOM_CURRENT_USER_STORE,CAPICOM_MY_STORE,CAPICOM_STORE_OPEN_READ_ONLY | CAPICOM_STORE_OPEN_EXISTING_ONLY);//以只读的方式打开个人存储区
oStoreCerts=oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_KEY_USAGE, CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE, true);//查找所有签名证书
oSelectedCerts = oStoreCerts.Select();//弹出证书选择框
var oSignerCert= oSelectedCerts (1);
oSigner.Certificate = oSignerCert;
oSignedData.Content=info;//这里的这个info 应该如何进行编码
var strSignedResult = oSignedData.Sign(oSigner,false, CAPICOM_ENCODE_BASE64);
function UnicodeToUTF8(strInUni){
if(null==strInUni)
returnnull;
var strUni=String(strInUni);
var strUTF8=String();
for(var i=0;i<strUni.length;i++){
var wchr=strUni.charCodeAt(i);
if(wchr<0x80){
strUTF8+=strUni.charAt(i);
}
else if(wchr<0x800){
var chr1=wchr&0xff;
var chr2=(wchr>>8)&0xff;
strUTF8+=String.fromCharCode(0xC0|(chr2<<2)|((chr1>>6)&0x3));
strUTF8+=String.fromCharCode(0x80|(chr1&0x3F));
}
else{
var chr1=wchr&0xff;
var chr2=(wchr>>8)&0xff;
strUTF8+=String.fromCharCode(0xE0|(chr2>>4));
strUTF8+=String.fromCharCode(0x80|((chr2<<2)&0x3C)|((chr1>>6)&0x3));
strUTF8+=String.fromCharCode(0x80|(chr1&0x3F));
}
}
return strUTF8;
}
Function Utf82Ansi2(unicodestring)
Dim lngLoop
Dim strChar
Ustr2Bstr = ""
For lngLoop = 1 to Len(unicodestring)
strChar = Mid(unicodestring, lngLoop, 1)
Utf82Ansi2 = Utf82Ansi2 & ChrB(AscB(strChar))
Next
End function