2012-07-02 111 views
0

我們需要創建一個HTTP服務,該服務可以創建並返回由可信父證書籤名的證書。我們最初的計劃是在使用Runtime.exec的Servlet中的我們的jdk的bin目錄中使用keytool,但似乎keytool命令需要在命令行上回答提示。以編程方式在Java servlet中使用keytool來創建證書/密鑰對

例如:keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048在命令行上提出了一些問題。

我們的下一個想法是使用java.security.KeyStore,但我沒有看到導出和保存存儲的方式,我們希望將所有證書保存在jks文件中。如果Web容器崩潰,我們肯定需要能夠保留所有的PKI工件。

+0

你有沒有試過java 7 keytool?我認爲你可以把所有的東西放在命令行上,避免提示。 –

+0

順便說一句,你不能只是*複製*商店? –

回答

0

嘗試Portecle。如果GUI無法做到,那麼只需從源代碼中提取信息即可。

0

因爲這是谷歌的頂級成果之一,我最終弄清楚了這裏的答案。

$ java -version 
java version "1.7.0_11" 
$ keytool -genkey -keysize 2048 \ 
    -alias tomcat \ 
    -keyalg RSA \ 
    -dname "CN=example.com,OU=MyOrgUnit,O=MyOrg,L=Somewhere,S=State,C=US" \ 
    -storepass Secret -keypass Secret \ 
    -keystore keystore.jks 

希望這有助於他人。

相關問題