List of usage examples for org.bouncycastle.openssl PEMWriter writeObject
public void writeObject(Object obj, PEMEncryptor encryptor) throws IOException
From source file:com.aqnote.shared.cryptology.cert.io.PKCSTransformer.java
License:Open Source License
public static String getKeyFileString(PrivateKey privKey, char[] pwd) throws Exception { CircularByteBuffer cbb = new CircularByteBuffer(CircularByteBuffer.INFINITE_SIZE); PEMWriter pemWriter = new PEMWriter(new PrintWriter(cbb.getOutputStream())); cbb.getOutputStream().flush();// w ww .jav a 2 s . c o m cbb.getOutputStream().close(); if (pwd != null) { JcePEMEncryptorBuilder encryptorBuilder = new JcePEMEncryptorBuilder(DES_EDE3_CBC); encryptorBuilder.setProvider(JCE_PROVIDER); encryptorBuilder.setSecureRandom(new SecureRandom()); pemWriter.writeObject(privKey, encryptorBuilder.build(pwd)); } else { pemWriter.writeObject(privKey); } pemWriter.flush(); pemWriter.close(); String keyFile = StreamUtil.stream2Bytes(cbb.getInputStream(), StandardCharsets.UTF_8); cbb.getInputStream().close(); cbb.clear(); return keyFile; }