public abstract class org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder
  super_class: java.lang.Object
{
  protected org.bouncycastle.operator.bc.BcDigestProvider digestProvider;
    descriptor: Lorg/bouncycastle/operator/bc/BcDigestProvider;
    flags: (0x0004) ACC_PROTECTED

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder this
         0: .line 19
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 21
            aload 0 /* this */
            getstatic org.bouncycastle.operator.bc.BcDefaultDigestProvider.INSTANCE:Lorg/bouncycastle/operator/bc/BcDigestProvider;
            putfield org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder.digestProvider:Lorg/bouncycastle/operator/bc/BcDigestProvider;
         2: .line 22
            return
        end local 0 // org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/operator/bc/BcContentVerifierProviderBuilder;

  public org.bouncycastle.operator.ContentVerifierProvider build(org.bouncycastle.cert.X509CertificateHolder);
    descriptor: (Lorg/bouncycastle/cert/X509CertificateHolder;)Lorg/bouncycastle/operator/ContentVerifierProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder this
        start local 1 // org.bouncycastle.cert.X509CertificateHolder certHolder
         0: .line 27
            new org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$1
            dup
            aload 0 /* this */
            aload 1 /* certHolder */
            invokespecial org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$1.<init>:(Lorg/bouncycastle/operator/bc/BcContentVerifierProviderBuilder;Lorg/bouncycastle/cert/X509CertificateHolder;)V
            areturn
        end local 1 // org.bouncycastle.cert.X509CertificateHolder certHolder
        end local 0 // org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/bouncycastle/operator/bc/BcContentVerifierProviderBuilder;
            0    1     1  certHolder  Lorg/bouncycastle/cert/X509CertificateHolder;
    Exceptions:
      throws org.bouncycastle.operator.OperatorCreationException
    MethodParameters:
            Name  Flags
      certHolder  final

  public org.bouncycastle.operator.ContentVerifierProvider build(org.bouncycastle.crypto.params.AsymmetricKeyParameter);
    descriptor: (Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;)Lorg/bouncycastle/operator/ContentVerifierProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder this
        start local 1 // org.bouncycastle.crypto.params.AsymmetricKeyParameter publicKey
         0: .line 60
            new org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$2
            dup
            aload 0 /* this */
            aload 1 /* publicKey */
            invokespecial org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$2.<init>:(Lorg/bouncycastle/operator/bc/BcContentVerifierProviderBuilder;Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;)V
            areturn
        end local 1 // org.bouncycastle.crypto.params.AsymmetricKeyParameter publicKey
        end local 0 // org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/bouncycastle/operator/bc/BcContentVerifierProviderBuilder;
            0    1     1  publicKey  Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;
    Exceptions:
      throws org.bouncycastle.operator.OperatorCreationException
    MethodParameters:
           Name  Flags
      publicKey  final

  private org.bouncycastle.operator.bc.BcSignerOutputStream createSignatureStream(org.bouncycastle.asn1.x509.AlgorithmIdentifier, org.bouncycastle.crypto.params.AsymmetricKeyParameter);
    descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;)Lorg/bouncycastle/operator/bc/BcSignerOutputStream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder this
        start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier algorithm
        start local 2 // org.bouncycastle.crypto.params.AsymmetricKeyParameter publicKey
         0: .line 85
            aload 0 /* this */
            aload 1 /* algorithm */
            invokevirtual org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder.createSigner:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/crypto/Signer;
            astore 3 /* sig */
        start local 3 // org.bouncycastle.crypto.Signer sig
         1: .line 87
            aload 3 /* sig */
            iconst_0
            aload 2 /* publicKey */
            invokeinterface org.bouncycastle.crypto.Signer.init:(ZLorg/bouncycastle/crypto/CipherParameters;)V
         2: .line 89
            new org.bouncycastle.operator.bc.BcSignerOutputStream
            dup
            aload 3 /* sig */
            invokespecial org.bouncycastle.operator.bc.BcSignerOutputStream.<init>:(Lorg/bouncycastle/crypto/Signer;)V
            areturn
        end local 3 // org.bouncycastle.crypto.Signer sig
        end local 2 // org.bouncycastle.crypto.params.AsymmetricKeyParameter publicKey
        end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier algorithm
        end local 0 // org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/bouncycastle/operator/bc/BcContentVerifierProviderBuilder;
            0    3     1  algorithm  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            0    3     2  publicKey  Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;
            1    3     3        sig  Lorg/bouncycastle/crypto/Signer;
    Exceptions:
      throws org.bouncycastle.operator.OperatorCreationException
    MethodParameters:
           Name  Flags
      algorithm  
      publicKey  

  protected abstract org.bouncycastle.crypto.params.AsymmetricKeyParameter extractKeyParameters(org.bouncycastle.asn1.x509.SubjectPublicKeyInfo);
    descriptor: (Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      publicKeyInfo  

  protected abstract org.bouncycastle.crypto.Signer createSigner(org.bouncycastle.asn1.x509.AlgorithmIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/crypto/Signer;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws org.bouncycastle.operator.OperatorCreationException
    MethodParameters:
          Name  Flags
      sigAlgId  
}
SourceFile: "BcContentVerifierProviderBuilder.java"
NestMembers:
  org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$1  org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$2  org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$SigVerifier
InnerClasses:
  org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$1
  org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$2
  private SigVerifier = org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder$SigVerifier of org.bouncycastle.operator.bc.BcContentVerifierProviderBuilder