Example usage for org.apache.commons.ssl PEMItem PEMItem

List of usage examples for org.apache.commons.ssl PEMItem PEMItem

Introduction

In this page you can find the example usage for org.apache.commons.ssl PEMItem PEMItem.

Prototype

public PEMItem(byte[] derBytes, String type) 

Source Link

Usage

From source file:org.apache.karaf.shell.ssh.keygenerator.PemWriter.java

public void writeKeyPair(String resource, KeyPair kp) throws IOException, FileNotFoundException {
    Collection<Object> items = new ArrayList<>();
    items.add(new PEMItem(kp.getPrivate().getEncoded(), "PRIVATE KEY"));
    byte[] bytes = PEMUtil.encode(items);
    try (FileOutputStream os = new FileOutputStream(keyFile)) {
        os.write(bytes);/*ww  w  .j ava2 s .c o m*/
    }
}

From source file:org.apache.sshd.common.config.keys.loader.pem.PKCS8PEMResourceKeyPairParserTest.java

@Test // see SSHD-760
public void testPkcs8() throws IOException, GeneralSecurityException {
    KeyPairGenerator generator = SecurityUtils.getKeyPairGenerator(algorithm);
    if (keySize > 0) {
        generator.initialize(keySize);/*from   w ww.j  a  v  a2s.  c  o m*/
    }
    KeyPair kp = generator.generateKeyPair();

    try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
        Collection<Object> items = new ArrayList<>();
        PrivateKey prv1 = kp.getPrivate();
        items.add(new PEMItem(prv1.getEncoded(), "PRIVATE KEY"));
        byte[] bytes = PEMUtil.encode(items);
        os.write(bytes);
        os.close();

        try (ByteArrayInputStream bais = new ByteArrayInputStream(os.toByteArray())) {
            KeyPair kp2 = SecurityUtils.loadKeyPairIdentity(getCurrentTestName(), bais, null);

            assertEquals("Mismatched public key", kp.getPublic(), kp2.getPublic());
            assertEquals("Mismatched private key", prv1, kp2.getPrivate());
        }
    }
}