Example usage for org.bouncycastle.operator ContentVerifier ContentVerifier

List of usage examples for org.bouncycastle.operator ContentVerifier ContentVerifier

Introduction

In this page you can find the example usage for org.bouncycastle.operator ContentVerifier ContentVerifier.

Prototype

ContentVerifier

Source Link

Usage

From source file:org.xwiki.crypto.signer.internal.DefaultBcContentVerifierProviderBuilder.java

License:Open Source License

private ContentVerifier getInstance(CipherParameters parameters, final AlgorithmIdentifier algId) {
    SignerFactory factory = getFactory(algId.getAlgorithm().getId());

    if (factory instanceof BcSignerFactory) {
        return (ContentVerifier) ((BcSignerFactory) factory).getInstance(false, parameters, algId);
    }//from  w  w w . j ava 2s  .  c o m

    final org.xwiki.crypto.signer.Signer signer;
    try {
        signer = factory.getInstance(false, parameters, algId.getEncoded());
    } catch (IOException e) {
        // Unlikely
        throw new IllegalArgumentException("Unable to encode algorithm identifier.");
    }

    return new ContentVerifier() {
        @Override
        public AlgorithmIdentifier getAlgorithmIdentifier() {
            return algId;
        }

        @Override
        public OutputStream getOutputStream() {
            return signer.getOutputStream();
        }

        @Override
        public boolean verify(byte[] bytes) {
            return DefaultBcContentVerifierProviderBuilder.verify(signer, bytes);
        }
    };
}