您在密钥库中创建了一个私有(和关联的公钥)密钥。为了使它真正可用,您可以让认证机构(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