2010-01-23 15 views
0

我期待在编码了使用SSL连接一个非常简单的服务器 - 但是有两个问题Java:用于在Windows上测试的ssl证书?

我怎么能在Windows中使用的Java keytool生成证书,我可以用于测试?我能看到的大多数教程(对于echoservers等)建议我运行以下命令,该命令在命令提示符(运行win 7)中似乎不起作用?

keytool -keystore mySrvKeystore -keypasswd 123456 -genkey -keyalg RSA -alias mycert 

还考虑病人做一些基本的基于AES与RSA加密 - 有没有在使用,而不是工具,在JCE提供现成的充气城堡的优势呢?

非常感谢,

回答

1

-genkey选项必须是第一位的。

如果JCE支持您想要使用的算法(并且它支持AES和RSA),切换到BouncyCastle会带来额外的麻烦,而且没有任何好处。如果您需要ECDH之类的东西,或者您想使用其S/MIME或PGP库,BouncyCastle将是一个不错的选择。

+0

嗨,我应该更加明快 - 当我说它'不工作'我的意思是Windows命令提示符不会识别'keytool'作为一个有效的命令。 即时通讯使用java/netbeans budle,以上是因为我没有java EE版本? 非常感谢 – oneAday 2010-01-23 18:09:59

+0

@oneAday。提供keytool可执行文件的完整路径,通常是'C:\ Program Files \ jre6 \ bin \ keytool.exe',或者如果您在SDK的bin目录中使用SDK。 – 2010-01-23 18:38:34

+0

是的,提供完整的路径。在Windows上安装期间,JDK和JDK工具未放置在路径上; Windows系统目录中包含'java'和'javaw'命令。您可以修改PATH变量或在命令行中指定完整路径。 – erickson 2010-01-23 18:53:57

1

如果您已经拥有PEM或DER格式的私钥以及签名证书,您可以使用pkeytool从中创建密钥库文件(基本上将私钥导入pkcs文件格式)。