我有使用java類CertAndKeyGen和X500Name創建的證書,我能夠生成字節數組中的證書。現在我想要我在證書中使用的私鑰並將其轉換爲可讀格式。下面是我用來創建證書的代碼,在java中提取私鑰
CertAndKeyGen keypair = new CertAndKeyGen("RSA", "SHA1WithRSA", null);
X500Name x500Name = new X500Name(commonName, organizationalUnit, organization, city, state, country);
keypair.generate(keysize);
PrivateKey privKey = keypair.getPrivateKey();
PKCS10 certReq = keypair.getCertRequest(x500Name);
X509Certificate[] chain = new X509Certificate[1];
chain[0] = keypair.getSelfCertificate(x500Name, new Date(), (long) validity * 24 * 60 * 60);
keyStore.setKeyEntry(alias, privKey, keyStorePassword.toCharArray(), chain);
ByteArrayOutputStream bs = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(bs);
certReq.print(ps);
byte[] certReqPrintable = bs.toByteArray();
我有沒有線索,請幫我在正確的方向去獲得私有密鑰並將其轉換成可讀的格式。提前致謝。
你是什麼可讀的意思嗎? Base64編碼? – Anton
我不想成爲二進制格式。如果我打印的是私鑰,它總是以一些不可讀的二進制格式給我。 – Mojoy