Example usage for org.bouncycastle.operator.bc BcContentVerifierProviderBuilder build

List of usage examples for org.bouncycastle.operator.bc BcContentVerifierProviderBuilder build

Introduction

In this page you can find the example usage for org.bouncycastle.operator.bc BcContentVerifierProviderBuilder build.

Prototype

public ContentVerifierProvider build(final AsymmetricKeyParameter publicKey) throws OperatorCreationException 

Source Link

Usage

From source file:org.xipki.commons.security.SecurityFactoryImpl.java

License:Open Source License

@Override
public ContentVerifierProvider getContentVerifierProvider(final PublicKey publicKey)
        throws InvalidKeyException {
    ParamUtil.requireNonNull("publicKey", publicKey);

    String keyAlg = publicKey.getAlgorithm().toUpperCase();

    BcContentVerifierProviderBuilder builder = VERIFIER_PROVIDER_BUILDER.get(keyAlg);
    if (builder == null) {
        if ("RSA".equals(keyAlg)) {
            builder = new XipkiRSAContentVerifierProviderBuilder(DIGESTALG_IDENTIFIER_FINDER);
        } else if ("DSA".equals(keyAlg)) {
            builder = new BcDSAContentVerifierProviderBuilder(DIGESTALG_IDENTIFIER_FINDER);
        } else if ("EC".equals(keyAlg) || "ECDSA".equals(keyAlg)) {
            builder = new XipkiECContentVerifierProviderBuilder(DIGESTALG_IDENTIFIER_FINDER);
        } else {//from  ww  w. j  ava 2s . co m
            throw new InvalidKeyException("unknown key algorithm of the public key " + keyAlg);
        }
        VERIFIER_PROVIDER_BUILDER.put(keyAlg, builder);
    }

    AsymmetricKeyParameter keyParam = KeyUtil.generatePublicKeyParameter(publicKey);
    try {
        return builder.build(keyParam);
    } catch (OperatorCreationException ex) {
        throw new InvalidKeyException("could not build ContentVerifierProvider: " + ex.getMessage(), ex);
    }
}

From source file:org.xipki.pki.scep.serveremulator.CaEmulator.java

License:Open Source License

public ContentVerifierProvider getContentVerifierProvider(final PublicKey publicKey)
        throws InvalidKeyException {
    ParamUtil.requireNonNull("publicKey", publicKey);

    String keyAlg = publicKey.getAlgorithm().toUpperCase();
    if ("EC".equals(keyAlg)) {
        keyAlg = "ECDSA";
    }//from   w ww .j a v a  2  s .co m

    BcContentVerifierProviderBuilder builder = VERIFIER_PROVIDER_BUILDER.get(keyAlg);
    if (builder == null) {
        if ("RSA".equals(keyAlg)) {
            builder = new BcRSAContentVerifierProviderBuilder(DFLT_DIGESTALG_IDENTIFIER_FINDER);
        } else if ("DSA".equals(keyAlg)) {
            builder = new BcDSAContentVerifierProviderBuilder(DFLT_DIGESTALG_IDENTIFIER_FINDER);
        } else if ("ECDSA".equals(keyAlg)) {
            builder = new BcECContentVerifierProviderBuilder(DFLT_DIGESTALG_IDENTIFIER_FINDER);
        } else {
            throw new InvalidKeyException("unknown key algorithm of the public key " + keyAlg);
        }
        VERIFIER_PROVIDER_BUILDER.put(keyAlg, builder);
    }

    AsymmetricKeyParameter keyParam = KeyUtil.generatePublicKeyParameter(publicKey);
    try {
        return builder.build(keyParam);
    } catch (OperatorCreationException ex) {
        throw new InvalidKeyException("could not build ContentVerifierProvider: " + ex.getMessage(), ex);
    }
}

From source file:org.xipki.security.KeyUtil.java

License:Open Source License

public static ContentVerifierProvider getContentVerifierProvider(final PublicKey publicKey)
        throws OperatorCreationException, InvalidKeyException {
    String keyAlg = publicKey.getAlgorithm().toUpperCase();
    if (keyAlg.equals("EC")) {
        keyAlg = "ECDSA";
    }//w  ww .j  a  v  a  2s . c o  m

    BcContentVerifierProviderBuilder builder = verifierProviderBuilders.get(keyAlg);
    if (builder == null) {
        if ("RSA".equals(keyAlg)) {
            builder = new BcRSAContentVerifierProviderBuilder(dfltDigesAlgIdentifierFinder);
        } else if ("DSA".equals(keyAlg)) {
            builder = new BcDSAContentVerifierProviderBuilder(dfltDigesAlgIdentifierFinder);
        } else if ("ECDSA".equals(keyAlg)) {
            builder = new ECDSAContentVerifierProviderBuilder(dfltDigesAlgIdentifierFinder);
        } else {
            throw new OperatorCreationException("unknown key algorithm of the public key " + keyAlg);
        }
        verifierProviderBuilders.put(keyAlg, builder);
    }

    AsymmetricKeyParameter keyParam = KeyUtil.generatePublicKeyParameter(publicKey);
    return builder.build(keyParam);
}