Search in sources :

Example 1 with NonBlockingBufferedInputStream

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

the class ImportCertCommand method importCert.

@Nonnull
protected CommandResult importCert(final IAliasedCertificateFactory certFx, final String sAlias, final String sFilename) throws IOException, CertificateException, OpenAS2Exception {
    try (final FileInputStream fis = new FileInputStream(sFilename);
        final NonBlockingBufferedInputStream bis = new NonBlockingBufferedInputStream(fis)) {
        final CertificateFactory cf = CertificateFactory.getInstance("X.509");
        while (bis.available() > 0) {
            final Certificate aCert = cf.generateCertificate(bis);
            if (aCert instanceof X509Certificate) {
                certFx.addCertificate(sAlias, (X509Certificate) aCert, true);
                final CommandResult cmdRes = new CommandResult(ECommandResultType.TYPE_OK, "Certificate(s) imported successfully");
                cmdRes.addResult("Imported certificate: " + aCert.toString());
                return cmdRes;
            }
        }
        return new CommandResult(ECommandResultType.TYPE_ERROR, "No valid X509 certificates found");
    }
}
Also used : NonBlockingBufferedInputStream(com.helger.commons.io.stream.NonBlockingBufferedInputStream) IAliasedCertificateFactory(com.helger.as2lib.cert.IAliasedCertificateFactory) CertificateFactory(java.security.cert.CertificateFactory) FileInputStream(java.io.FileInputStream) X509Certificate(java.security.cert.X509Certificate) X509Certificate(java.security.cert.X509Certificate) Certificate(java.security.cert.Certificate) CommandResult(com.helger.as2.cmd.CommandResult) Nonnull(javax.annotation.Nonnull)

Aggregations

CommandResult (com.helger.as2.cmd.CommandResult)1 IAliasedCertificateFactory (com.helger.as2lib.cert.IAliasedCertificateFactory)1 NonBlockingBufferedInputStream (com.helger.commons.io.stream.NonBlockingBufferedInputStream)1 FileInputStream (java.io.FileInputStream)1 Certificate (java.security.cert.Certificate)1 CertificateFactory (java.security.cert.CertificateFactory)1 X509Certificate (java.security.cert.X509Certificate)1 Nonnull (javax.annotation.Nonnull)1