我正在尝试在客户端上签署一个表单并将其发送到服务器进行验证。
我正在使用crypto.signText()
但是当我提交表单时,它不会要求选择证书。
这是我的代码:
signature = theWindow.crypto.signText(res, "ask");
答案 0 :(得分:2)
显示这是高度依赖浏览器的。
Best way to sign data in web form with user certificate
因此,您可能最好使用Java applet而不是使用javascript进行签名。
答案 1 :(得分:0)
http://docs.oracle.com/cd/E19957-01/816-6152-10/contents.htm
有一个caOption参数:
resultString = [window.]crypto.signText(stringToSign, caOption, [caNameString1, [caNameString2, . . . ]])
答案 2 :(得分:0)
您是否正在编写文本来实例化提示?
<html>
<head>
<script>
var foo = crypto.signText("Bill of Sale\n--------------------\n3 Tires $300.00\n1 Axle $795.00\n2 Bumpers $500.00\n--------------------\nTotal Price $1595.00", "ask");
</script>
</head>
<body>
This is an HTML page<p>
<script>
document.write(foo);
</script>
</body>
</html>
答案 3 :(得分:0)
为了使crypto.signText正常工作,您需要在浏览器证书库中导入证书。
在Firefox中,转到偏好设置,高级版,证书。
导入.p12证书文件。您还可以从服务器证书编辑信任详细信息。
我还没有100%正常工作,但它已经要求我使用证书(提出导入的证书)和密码。不幸的是,密码没有被接受,但可能是因为我的服务器证书是自制的,浏览器无法访问。
有趣的链接(西班牙语)。 http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=FirmasFirefox