当前位置:首页 > 数字证书在WEB应用中登录
var certs= mystore.Certificates; //myca sign certs // varmycacerts= certs;
varmycacerts= new ActiveXObject(\ for(i=1;i<=certs.Count;i++) {
//check issuer
var issuer=certs.Item(i).IssuerName; if(issuer.indexOf(\//not myca continue; //check key usage
varku=certs.Item(i).KeyUsage();
if(!ku.IsDigitalSignatureEnabled) //not sign cert continue; //add
mycerts.Add(certs.Item(i)); }
if(mycerts.Count==0) {
if(window.confirm(\没有找到MYCA签发的证书,/r/n请插入相应的Ekey再按确定\
returnSelectMySignCert(); else
return null; }
//select cert
varcertsel= mycerts.Select(\选择证书\请选择证书:\ if(certsel==null)return null; var cert= certsel.Item(1); // cert.Display(); return cert; }
functionSignText(strtext)
{
//select cert
varmysigncert= SelectMySignCert(); if(mysigncert==null)return null; //signed data
var signer = new ActiveXObject(\ signer.Certificate = mysigncert;
varsigneddata = new ActiveXObject(\ varutils = new ActiveXObject(\ signeddata.Content = utils.BinaryStringToByteArray(strtext); returnsigneddata.Sign(signer,false,CAPICOM_ENCODE_BASE64); } /*
var signature= SignText(\WScript.Echo(signature); */
登录页面(login.aspx)
<%@ Page Language=\ <%
Random rnd = new Random(); byte[] buff = new byte[18]; rnd.NextBytes(buff);
string challenge = Convert.ToBase64String(buff); Session[\%>
{
var signature= SignText(\ if(signature==null)return; form1.passport.value= signature;
form1.submit(); }
共分享92篇相关文档