キーストアに秘密(および関連する公開)鍵を作成しました。それが本当に使えるようにするために、あなたはそれを認証機関(CA)によって署名させることができます-これは-certreq
コマンドです(あなたは他の情報と少しのお金と一緒にこの認証機関に出力を送り、そして彼らは送り返します証明書。キーストアにインポートできます。)
秘密鍵の表示は意図されていません...Javaプログラムで鍵ストアを使用し、これはその使用方法を知っているため、通常はこれは必要ありません。
編集:キーストアを見たいので、これを行う簡単なJavaプログラムを次に示します。
import java.io.*;
import java.security.*;
import java.security.cert.Certificate;
public class KeyPrinter {
/**
* to be invoked with these parameters:
*
* [0]: keystore-password
* [1]: filename
* [2]: alias
* [3]: entry-Password (if necessary)
*/
public static void main(String[] params)
throws IOException, GeneralSecurityException
{
char[] storePass = params[0].toCharArray();
String fileName = params[1];
String alias = params[2];
KeyStore.ProtectionParameter entryPass;
if(params.length > 3) {
entryPass=new KeyStore.PasswordProtection(params[3].toCharArray());
} else {
entryPass = null;
}
KeyStore store = KeyStore.getInstance("JKS");
InputStream input = new FileInputStream(fileName);
store.load(input, storePass);
KeyStore.Entry entry = store.getEntry(alias, entryPass);
System.out.println(entry);
}
}
最初に呼び出しkeytool -list -keystore myStore
て、検索するエイリアスを確認してから、パスワードとパラメータを使用してこのプログラムを呼び出します。秘密鍵エントリの場合は、鍵自体と、公開鍵を含む自己署名証明書が読み取り可能な形式で表示されます。「信頼できる証明書」の場合は、公開鍵のみが表示されます。