Search in sources :

Example 1 with NonBlockingByteArrayInputStream

use of com.helger.commons.io.stream.NonBlockingByteArrayInputStream in project as2-server by phax.

the class ImportCertInEncodedStreamCommand method _importCert.

private CommandResult _importCert(final IAliasedCertificateFactory certFx, final String alias, final String encodedCert) throws CertificateException, OpenAS2Exception {
    final NonBlockingByteArrayInputStream bais = new NonBlockingByteArrayInputStream(ByteCoder.decode(encodedCert).getBytes());
    final CertificateFactory cf = CertificateFactory.getInstance("X.509");
    while (bais.available() > 0) {
        final Certificate cert = cf.generateCertificate(bais);
        if (cert instanceof X509Certificate) {
            certFx.addCertificate(alias, (X509Certificate) cert, true);
            final CommandResult cmdRes = new CommandResult(ECommandResultType.TYPE_OK, "Certificate(s) imported successfully");
            cmdRes.addResult("Imported certificate: " + cert.toString());
            return cmdRes;
        }
    }
    return new CommandResult(ECommandResultType.TYPE_ERROR, "No valid X509 certificates found");
}
Also used : NonBlockingByteArrayInputStream(com.helger.commons.io.stream.NonBlockingByteArrayInputStream) IAliasedCertificateFactory(com.helger.as2lib.cert.IAliasedCertificateFactory) CertificateFactory(java.security.cert.CertificateFactory) X509Certificate(java.security.cert.X509Certificate) X509Certificate(java.security.cert.X509Certificate) Certificate(java.security.cert.Certificate) CommandResult(com.helger.as2.cmd.CommandResult)

Aggregations

CommandResult (com.helger.as2.cmd.CommandResult)1 IAliasedCertificateFactory (com.helger.as2lib.cert.IAliasedCertificateFactory)1 NonBlockingByteArrayInputStream (com.helger.commons.io.stream.NonBlockingByteArrayInputStream)1 Certificate (java.security.cert.Certificate)1 CertificateFactory (java.security.cert.CertificateFactory)1 X509Certificate (java.security.cert.X509Certificate)1