2012-02-17 146 views
1

虽然我的项目是基于java的,但我们仍然使用OpenSSL来生成密钥和证书。我不明白OpenSSL比Java密钥库更好。我不能用keytool做什么,我可以用OpenSSL做什么?

我不能用keytool做什么,我可以用OpenSSL做什么?

+0

呃......真的吗?好吧,那么......如何恰当地签署X509企业社会责任的约束条件?或者使用AES对文件进行实际加密怎么办?还是椭圆曲线密码?或者许多不同种类的密钥库和证书之间的互操作性?体面的随机数生成?我可以继续。 – 2012-02-17 06:28:38

+1

Keytool是一款管理密钥的工具。这不是一个加密套件。它可以生成证书的事实只会鼓励人们马虎。我并不是说OpenSSL是加密套件的全部终端,但Keytool是OpenSSL的三轮车。 – 2012-02-17 06:31:41

+0

@chris:我会将openssl命令行工具描述为加密瑞士军刀,而keytool仅用于管理java密钥库。顺便说一下,我认为Java 7 keytool最终可以用你指的约束来创建CSR。令人惊讶的是,到达那里需要很长时间。 – 2012-02-18 00:54:59

回答

2

这取决于您的需求。

如果你只是需要生成没有扩展名(如在X.509 v1证书)测试目的的自签名证书,然后IMO这是更快,方便使用Keytool注意:我对是否增加不知道/更改已在Java 7的Keytool中引入)。

此外,如果您只需要管理您的证书或使用JKS密钥库,则Keytool仍然是可行的方法。

除此之外,你将需要使用一个强大的安全设施,这当然是OpenSSL。

请注意,如果您只需为您的测试生成-fast- certificates/keystore,则可以使用基于Java的工具,例如Certificate Helper这也创建扩展。

但是对于生产/互操作性以及朋友在评论中提到的所有原因,您可以使用OpenSSL。

相关问题