BcContentVerifierProviderBuilder (Bouncy Castle Library 1.54 API Specification)
Date: 2015-12-29

org.bouncycastle.operator.bc

## Class BcContentVerifierProviderBuilder

- java.lang.Object
- - org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder

- Direct Known Subclasses:
    BcDSAContentVerifierProviderBuilder, BcECContentVerifierProviderBuilder, BcRSAContentVerifierProviderBuilder

      public abstract class BcContentVerifierProviderBuilder
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected BcDigestProvider` | `digestProvider`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BcContentVerifierProviderBuilder()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ContentVerifierProvider` | `build(org.bouncycastle.crypto.params.AsymmetricKeyParameter publicKey)`
    `ContentVerifierProvider` | `build(X509CertificateHolder certHolder)`
    `protected abstract org.bouncycastle.crypto.Signer` | `createSigner(org.bouncycastle.asn1.x509.AlgorithmIdentifier sigAlgId)` Create the correct signer for the algorithm identifier sigAlgId.
    `protected abstract org.bouncycastle.crypto.params.AsymmetricKeyParameter` | `extractKeyParameters(org.bouncycastle.asn1.x509.SubjectPublicKeyInfo publicKeyInfo)` Extract an AsymmetricKeyParameter from the passed in SubjectPublicKeyInfo structure.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### digestProvider

          protected BcDigestProvider digestProvider

  - ### Constructor Detail

    - #### BcContentVerifierProviderBuilder

          public BcContentVerifierProviderBuilder()

  - ### Method Detail

    - #### build

          public ContentVerifierProvider build(X509CertificateHolder certHolder)
                                        throws OperatorCreationException

      Throws:
        `OperatorCreationException`

    - #### build

          public ContentVerifierProvider build(org.bouncycastle.crypto.params.AsymmetricKeyParameter publicKey)
                                        throws OperatorCreationException

      Throws:
        `OperatorCreationException`

    - #### extractKeyParameters

          protected abstract org.bouncycastle.crypto.params.AsymmetricKeyParameter extractKeyParameters(org.bouncycastle.asn1.x509.SubjectPublicKeyInfo publicKeyInfo)
                                                                                                 throws java.io.IOException

      Extract an AsymmetricKeyParameter from the passed in SubjectPublicKeyInfo structure.
      Parameters:
        `publicKeyInfo` - a publicKeyInfo structure describing the public key required.
      Returns:
        an AsymmetricKeyParameter object containing the appropriate public key.
      Throws:
        `java.io.IOException` - if the publicKeyInfo data cannot be parsed,

    - #### createSigner

          protected abstract org.bouncycastle.crypto.Signer createSigner(org.bouncycastle.asn1.x509.AlgorithmIdentifier sigAlgId)
                                                                  throws OperatorCreationException

      Create the correct signer for the algorithm identifier sigAlgId.
      Parameters:
        `sigAlgId` - the algorithm details for the signature we want to verify.
      Returns:
        a Signer object.
      Throws:
        `OperatorCreationException` - if the Signer cannot be constructed.