在浏览器上生成rsa keypair客户端

时间:2012-03-07 16:14:37

标签: browser pki

我在这种编程方面不是很专业,我知道有几个类似的问题,但是任何人都回答了我需要的问题。

我的团队(和我)正在开发公钥基础结构。我们陷入密钥生成(在客户端),但我们发现很少有关于它的文档。

我们知道有以下选择:

keygen标签 - >生成SPKAC请求 - >在Mozilla中工作到内部密钥库,令牌和智能卡

crypto.generateCRMFRequest() - >生成CRMF请求 - >在Mozilla中工作到内部密钥库,令牌和智能卡

CryptoAPI,CAPI,XEnroll CEnroll - >生成CSR PKCS#10(我想是这样) - >在Internet Explorer中工作(我们仍然没有找到代码的示例)

Javascript或java Applet(是的,我知道,两者都不同)使用sunpkcs11,bouncycastle或iaik API生成(无法达到任何目标)

我们找到了这个选项。但是我们不知道如何获得结果,如何创建CSR PKCS#10请求以及如何处理它。

拜托,您能给我一个关于选择策略,找到如何实现和处理结果,转换结果等的建议吗?我们疯了!

示例:我们知道如何使用keygen标记,但我们不知道如何将密钥设置为仅RSA 2048,以及如何处理在SHA256上签名的良好CSR转换的SPKAC请求

我们尝试使用iaik API开发Java Applet,但生成的CSR出错了。

2 个答案:

答案 0 :(得分:2)

就所有计数而言,只要使用浏览器标记生成密钥对和/或证书请求,您就是正确的。我建议你看一下Sourceforge上的Odyssi CS项目。这是一个用Java / JSP编写的非常简单的CA实现。查看JSP文件,您可以看到各种选项如何传递给密钥生成标记。

基本上,您生成密钥对作为表单提交的一部分。从那里,它们以与任何其他请求参数相同的方式可用。您需要知道如何在后端解码它们。 IE生成请求作为PKCS#10,这很好,因为它是一个记录良好的标准。 SPKAC格式没有被广泛使用,但仍然有很好的文档和库。

http://sourceforge.net/projects/odyssipki/

答案 1 :(得分:0)

正如Daniel指出的那样,SPKAC并没有得到广泛的支持(即使是CA),如果你的情况可以在所有浏览器中使用PKCS10,那会更好。

这是一个例子 - https://github.com/PeculiarVentures/csrhelp