Java PEMWriter类使用实例

发布时间:2025-12-09 11:46:37 浏览次数:1

实例1: saveKeyPairAndCertificateToFile

import org.bouncycastle.openssl.PEMWriter; //导入依赖的package包/类protected void saveKeyPairAndCertificateToFile() throws Exception {    if(localPrivateKeyFile==null){      LOGGER.info("not saving private key nor certificate");      return;    }    //Encode in PEM format, the format prefered by openssl//    if(false){//      PEMWriter pemWriter=new PEMWriter(new FileWriter(localPrivateKeyFile));//      pemWriter.writeObject(localPrivateECKey);//      pemWriter.close();//    }//    else{      String keyText = "-----BEGIN EC PRIVATE KEY-----\n" +          Base64.encode(Unpooled.wrappedBuffer(localPrivateECKey.getEncoded()), true).toString(CharsetUtil.US_ASCII) +          "\n-----END EC PRIVATE KEY-----\n";      Files.write(keyText, localPrivateKeyFile, CharsetUtil.US_ASCII);      Files.write(localId.toString(), new File(localPrivateKeyFile.getParentFile(), "localPublic.hash"), CharsetUtil.US_ASCII);//    }    PEMWriter certificateWriter=new PEMWriter(new FileWriter(localCertificateFile));    certificateWriter.writeObject(cert);    certificateWriter.close();    LOGGER.info("Saved to "+localCertificateFile.getAbsolutePath());  } 

实例2: encryptedTest

import org.bouncycastle.openssl.PEMWriter; //导入依赖的package包/类private void encryptedTest(PrivateKey key, ASN1ObjectIdentifier algorithm)    throws NoSuchProviderException, NoSuchAlgorithmException, IOException{    ByteArrayOutputStream bOut = new ByteArrayOutputStream();    PEMWriter pWrt = new PEMWriter(new OutputStreamWriter(bOut), "BC");    PKCS8Generator pkcs8 = new PKCS8Generator(key, algorithm, "BC");    pkcs8.setPassword("hello".toCharArray());        pWrt.writeObject(pkcs8);    pWrt.close();    PEMReader pRd = new PEMReader(new InputStreamReader(new ByteArrayInputStream(bOut.toByteArray())), new PasswordFinder()    {        public char[] getPassword()        {            return "hello".toCharArray();        }    });    PrivateKey rdKey = (PrivateKey)pRd.readObject();    assertEquals(key, rdKey);} 

实例3: getPEMStringFromRSAKeyPair

import org.bouncycastle.openssl.PEMWriter; //导入依赖的package包/类/** * Converts RSA private key to PEM string. *  * @param rsaKeyPair *  * @return PEM string */public static String getPEMStringFromRSAKeyPair(RSAKeyPair rsaKeyPair) {    StringWriter pemStrWriter = new StringWriter();    PEMWriter pemWriter = new PEMWriter(pemStrWriter);    try {        KeyPair keyPair = new KeyPair(rsaKeyPair.getPublic(), rsaKeyPair.getPrivate());        //pemWriter.writeObject(keyPair);        pemWriter.writeObject(keyPair.getPrivate());        //pemWriter.flush();        pemWriter.close();    } catch (IOException e) {        log.warning("Caught exception:" + e.getMessage());        return "";    }    return pemStrWriter.toString();} 

实例4: toPem

import org.bouncycastle.openssl.PEMWriter; //导入依赖的package包/类@SuppressWarnings("deprecation")public static byte[] toPem(Object object) throws IOException {    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();    try (PEMWriter writer = new PEMWriter(new OutputStreamWriter(outputStream))) {        writer.writeObject(object);        writer.flush();        return outputStream.toByteArray();    }} 
savekey
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477