为什么keytool会报告'NoSuchAlgorithmException; 不能支持算法"RSA"'?

Dou*_*eld 2 java keytool

我想我会分享我今天发现的解决方法.不能以我习惯的方式创建RSA密钥....

重现的步骤:

  1. 在Windows Server 2008 R2上安装Java Development Kit jdk-6u30-windows-x64.exe.包括公共JRE.

  2. 使用以下参数运行JRE的bin\keytool实用程序:

    keytool -genseckey -alias FOO -keystore FOO.jks -keyalg RSA -validity 1825

预期结果:

自签名证书创建向导

实际结果:

抛出:NoSuchAlgorithmException; 不能支持算法"RSA"

解决方法:

当然我尝试使用小写"rsa",但这不起作用.有用的是使用未记录的前方法"-genkey"而不是"-genseckey"

4nd*_*rew 6

-genkey是过时的参数,在jdk6中被-genkeypair取代.如果要生成RSA密钥对,请使用-genkeypair而不是-genseckey.