public IStreamCalculator CreateCalculator()
        {
            ISigner sig = SignerUtilities.GetSigner(X509Utilities.GetSignatureName(this.algID));

            sig.Init(false, this.publicKey);
            return(new VerifierCalculator(sig));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Base constructor.
        /// </summary>
        /// <param name="algorithm">The name of the signature algorithm to use.</param>
        /// <param name="publicKey">The public key to be used in the verification operation.</param>
        public Asn1VerifierFactory(String algorithm, AsymmetricKeyParameter publicKey)
        {
            DerObjectIdentifier sigOid = X509Utilities.GetAlgorithmOid(algorithm);

            this.publicKey = publicKey;
            this.algID     = X509Utilities.GetSigAlgID(sigOid, algorithm);
        }
Ejemplo n.º 3
0
        public IStreamCalculator CreateCalculator()
        {
            ISigner signer = SignerUtilities.GetSigner(X509Utilities.GetSignatureName(algID));

            signer.Init(forSigning: false, publicKey);
            return(new VerifierCalculator(signer));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Constructor which also specifies a source of randomness to be used if one is required.
        /// </summary>
        /// <param name="algorithm">The name of the signature algorithm to use.</param>
        /// <param name="privateKey">The private key to be used in the signing operation.</param>
        /// <param name="random">The source of randomness to be used in signature calculation.</param>
        public Asn1SignatureFactory(string algorithm, AsymmetricKeyParameter privateKey, SecureRandom random)
        {
            DerObjectIdentifier sigOid = X509Utilities.GetAlgorithmOid(algorithm);

            this.algorithm  = algorithm;
            this.privateKey = privateKey;
            this.random     = random;
            this.algID      = X509Utilities.GetSigAlgID(sigOid, algorithm);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Base constructor.
        /// </summary>
        /// <param name="algorithm">The name of the signature algorithm to use.</param>
        /// <param name="publicKey">The public key to be used in the verification operation.</param>
        public Asn1VerifierFactory(string algorithm, AsymmetricKeyParameter publicKey)
        {
            if (algorithm == null)
            {
                throw new ArgumentNullException("algorithm");
            }
            if (publicKey == null)
            {
                throw new ArgumentNullException("publicKey");
            }
            if (publicKey.IsPrivate)
            {
                throw new ArgumentException("Key for verifying must be public", "publicKey");
            }

            DerObjectIdentifier sigOid = X509Utilities.GetAlgorithmOid(algorithm);

            this.publicKey = publicKey;
            this.algID     = X509Utilities.GetSigAlgID(sigOid, algorithm);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Constructor which also specifies a source of randomness to be used if one is required.
        /// </summary>
        /// <param name="algorithm">The name of the signature algorithm to use.</param>
        /// <param name="privateKey">The private key to be used in the signing operation.</param>
        /// <param name="random">The source of randomness to be used in signature calculation.</param>
        public Asn1SignatureFactory(string algorithm, AsymmetricKeyParameter privateKey, SecureRandom random)
        {
            if (algorithm == null)
            {
                throw new ArgumentNullException("algorithm");
            }
            if (privateKey == null)
            {
                throw new ArgumentNullException("privateKey");
            }
            if (!privateKey.IsPrivate)
            {
                throw new ArgumentException("Key for signing must be private", "privateKey");
            }

            DerObjectIdentifier sigOid = X509Utilities.GetAlgorithmOid(algorithm);

            this.algorithm  = algorithm;
            this.privateKey = privateKey;
            this.random     = random;
            this.algID      = X509Utilities.GetSigAlgID(sigOid, algorithm);
        }
Ejemplo n.º 7
0
        public IStreamCalculator CreateCalculator()
        {
            ISigner verifier = SignerUtilities.InitSigner(X509Utilities.GetSignatureName(algID), false, publicKey, null);

            return(new DefaultVerifierCalculator(verifier));
        }