有没有兄弟们用过cab包或有过类似经验的?大家都来说说看怎么解决呀?
解决方案 »
- struts2上传文件的中文问题。急急。急。都来看看。
- resin一个难点问题
- web编程中操作数据库的并发同步问题
- String awardnum = rs.getString(1); 或 String awardnum = rs.getString("number");错误
- 关于linkedList的一个问题
- 初手问题
- 简单问题,分数挺多
- 象CSDN的帖子列表页面那样,一行是蓝的,一行是白的如何实现的?
- 请求帮助!!!!!!!
- 菜鸟问题:哪位大哥看看我下一段代码错在哪里?(完整的,可以在您的机器上调试)
- JS正则表达式验证
- 求JSP高手....救命吖~···快崩溃啦~T.T...在线一直等!!!
<object id='ocx' width='468px' height='420px' classid='CLSID:902BD8F8-AB6F-4102-AA72-CFBB012F71B2' codebase='dssPlay.cab#version=1.0.0.1'>在jsp中也是一样的引用方式。此时如果直接双击运行这个html页面则会出现要求下载ocx控件,但是如果直接修改html页面的后缀编成jsp页面,同时将jsp页面和cab包一起部署到tomcat6.0中就不会出现要求下载ocx控件的提示。PS:cab包和html、jsp页面处于同一目录下。
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<title>CAPICOM - SignedData Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <script language="jscript">
var CAPICOM_CURRENT_USER_STORE = 2;
var CAPICOM_STORE_OPEN_READ_ONLY = 0;
var CAPICOM_ENCODE_BASE64 = 0;
var CAPICOM_ENCODE_BINARY = 1;
var CAPICOM_INFO_SUBJECT_SIMPLE_NAME = 0;
var CAPICOM_INFO_ISSUER_SIMPLE_NAME = 1;
var CAPICOM_INFO_SUBJECT_EMAIL_NAME = 2;
var CAPICOM_INFO_ISSUER_EMAIL_NAME = 3;
function SelectMySignCert()
{
//cert store
var mystore = new ActiveXObject("CAPICOM.Store");
mystore.Open(CAPICOM_CURRENT_USER_STORE,"My",CAPICOM_STORE_OPEN_READ_ONLY);
var certs= mystore.Certificates;
//myca sign certs
//var mycacerts= certs;
var mycacerts= new ActiveXObject("CAPICOM.Certificates");
for(i=1;i<=certs.Count;i++)
{
//var issuer=certs.Item(i).IssuerName;
//if(issuer.indexOf("CN=test")<0)
// continue;
//check key usage
var ku=certs.Item(i).KeyUsage();
//if(!ku.IsDigitalSignatureEnabled) //not sign cert
//continue;
//add
mycacerts.Add(certs.Item(i));
}
if(mycacerts.Count==0)
{
if(window.confirm("没有找到MYCA签发的证书,\r\n请插入相应的Ekey再按确定")==true)
return SelectMySignCert();
else
return null;
}
//select cert
//var certsel= mycacerts.Select("选择证书1","请选择证书1:",false);
var certsel= mycacerts.Select();
if(certsel==null)return null;
var cert= certsel.Item(1);
// cert.Display();
return cert;
}
function SignText(strtext)
{
//select cert
try{
var mysigncert= SelectMySignCert();
if(mysigncert==null)return null;
//signed data
var signer = new ActiveXObject("CAPICOM.Signer");
signer.Certificate = mysigncert;
var signeddata = new ActiveXObject("CAPICOM.SignedData");
var utils = new ActiveXObject("CAPICOM.Utilities");
signeddata.Content = utils.BinaryStringToByteArray(strtext);
//alert(signeddata.Content);
return signeddata.Sign(signer,false,CAPICOM_ENCODE_BASE64);
}catch(e){
alert("调用证书签名出错!");
return null;
}
} </script> <script language="javascript">
function submitform()
{
var signature= SignText(document.form1.orgSign.value);
//alert(signature);
if(signature==null){
return;
}
form1.signData.value= signature;
form1.submit();
}
</script>
</head>
<body onload="submitform();">
<form name="form1" action="authSigner.action" method="POST">
<input type="hidden" name="signData" value="">
<br />
<input type="hidden" name="orgSign" value="<%=(String)session.getAttribute("certificateChallenge")%>" size=30>
</form>
<OBJECT id="oCAPICOM"
codeBase="<%=basePath %>/web/script/capicom.cab#version=2,0,0,3"
classid="clsid:A996E48C-D3DC-4244-89F7-AFA33EC60679">
</body>
</html>这是我的。。整个都贴出来你看看