2
Java 코드가있는 자체 서명 된 인증서를 작성하여 KeyStore에 추가했습니다. 이제 개인 키와 인증서를 PEM 형식의 파일로 내보내려고합니다. 제 3 자 라이브러리없이이 작업을 수행 할 수 있습니까? 아래는 자기가 서명 한 인증서를 만들기 위해 사용하는 코드입니다.개인 키를 PEM 형식으로 변환하십시오.
public void createSelfSignedSSLCertificate() {
try {
final CertAndKeyGen keypair = new CertAndKeyGen("RSA", "SHA1WithRSA", null);
final X500Name x500Name =
new X500Name(commonName, organizationalUnit, organization, city, state, country);
keypair.generate(keysize);
final PrivateKey privKey = keypair.getPrivateKey();
final X509Certificate[] chain = new X509Certificate[1];
chain[0] = keypair.getSelfCertificate(x500Name, new Date(), validity * 24 * 60 * 60);
final String alias = JettySSLConfiguration.SSL_CERTIFICATE_ALIAS;
keyStore.setKeyEntry(alias, privKey, keyStorePassword.toCharArray(), chain);
} catch (final Exception e) {
// Handle Exception
}
}
키와 인증서를 PEM 형식의 파일로 내보내는 방법에 대한 제안은 정말 유용 할 것입니다.
실제로 "PEM"형식은 없습니다. '----- BEGIN'과'----- END '으로 둘러싸인 base64가 인코딩 될 때 "PEM 형식"으로 설명되는 모든 종류의 암호화 구조가 있습니다. 당신은 당신이 원하는 것에 대해 구체적이어야합니다. –
J2SE API의 일부가 아닌 내부 'sun. *'패키지 중 일부를 사용하는 대신 타사 라이브러리 사용을 고려해야합니다. – Bruno