Ejemplo n.º 1
0
        internal static byte[] MakeKeyFromPassPhrase(
            IDigestFactoryProvider <PgpDigestTypeIdentifier> digCalcProvider,
            SymmetricKeyAlgorithmTag algorithm,
            S2k s2k,
            char[] passPhrase)
        {
            IDigestFactory <PgpDigestTypeIdentifier> digestCalculator;

            if (s2k != null)
            {
                digestCalculator = digCalcProvider.CreateDigestFactory(new PgpDigestTypeIdentifier(s2k.HashAlgorithm));
            }
            else
            {
                digestCalculator = digCalcProvider.CreateDigestFactory(new PgpDigestTypeIdentifier(HashAlgorithmTag.MD5));
            }

            return(MakeKeyFromPassPhrase(digestCalculator, algorithm, s2k, passPhrase));
        }
Ejemplo n.º 2
0
 internal SignerInfoGenerator(SignerIdentifier sigId, ISignatureFactory <AlgorithmIdentifier> contentSigner, IDigestFactoryProvider <AlgorithmIdentifier> digesterProvider, ISignatureEncryptionAlgorithmFinder sigEncAlgFinder, ICmsAttributeTableGenerator signedGen, ICmsAttributeTableGenerator unsignedGen)
 {
     this.sigId            = sigId;
     this.signer           = contentSigner;
     this.signerCalculator = contentSigner.CreateCalculator();
     if (digesterProvider != null)
     {
         this.digester         = digesterProvider.CreateDigestFactory(digAlgFinder.Find(signer.AlgorithmDetails));
         this.digestCalculator = digester.CreateCalculator();
     }
     else
     {
         this.digester = null;
     }
     this.sigEncAlgFinder   = sigEncAlgFinder;
     this.signedGen         = signedGen;
     this.unsignedGen       = unsignedGen;
     this.isDirectSignature = false;
 }
Ejemplo n.º 3
0
        internal SignerInfoGenerator(SignerIdentifier sigId, ISignatureFactory <AlgorithmIdentifier> signerFactory, IDigestFactoryProvider <AlgorithmIdentifier> digesterProvider, ISignatureEncryptionAlgorithmFinder sigEncAlgFinder, bool isDirectSignature)
        {
            this.sigId            = sigId;
            this.signer           = signerFactory;
            this.signerCalculator = signerFactory.CreateCalculator();

            if (digesterProvider != null)
            {
                this.digester         = digesterProvider.CreateDigestFactory(digAlgFinder.Find(signer.AlgorithmDetails));
                this.digestCalculator = digester.CreateCalculator();
            }
            else
            {
                this.digester = null;
            }

            this.sigEncAlgFinder = sigEncAlgFinder;

            this.isDirectSignature = isDirectSignature;
            if (this.isDirectSignature)
            {
                this.signedGen   = null;
                this.unsignedGen = null;
            }
            else
            {
                this.signedGen   = new DefaultSignedAttributeTableGenerator();
                this.unsignedGen = null;
            }
        }
Ejemplo n.º 4
0
 internal SignerInfoGenerator(SignerIdentifier sigId, ISignatureFactory <AlgorithmIdentifier> signerFactory, IDigestFactoryProvider <AlgorithmIdentifier> digesterProvider, ISignatureEncryptionAlgorithmFinder sigEncAlgFinder) : this(sigId, signerFactory, digesterProvider, sigEncAlgFinder, false)
 {
 }
Ejemplo n.º 5
0
 /**
  *  Base constructor.
  *
  * @param digestProvider  a provider of digest calculators for the algorithms required in the signature and attribute calculations.
  */
 public SignerInfoGeneratorBuilder(IDigestFactoryProvider <AlgorithmIdentifier> digestProvider, ISignatureEncryptionAlgorithmFinder sigEncAlgFinder)
 {
     this.digestProvider  = digestProvider;
     this.sigEncAlgFinder = sigEncAlgFinder;
 }
Ejemplo n.º 6
0
 /**
  *  Base constructor.
  *
  * @param digestProvider  a provider of digest calculators for the algorithms required in the signature and attribute calculations.
  */
 public SignerInfoGeneratorBuilder(IDigestFactoryProvider <AlgorithmIdentifier> digestProvider) : this(digestProvider, new DefaultSignatureEncryptionAlgorithmFinder())
 {
 }