Esempio n. 1
0
		public byte[] CalculateRawSignature(AsymmetricKeyParameter privateKey, byte[] md5andsha1)
		{
			// Note: Only use the SHA1 part of the hash
			ISigner sig = new DsaDigestSigner(new DsaSigner(), new NullDigest());
			sig.Init(true, privateKey);
			sig.BlockUpdate(md5andsha1, 16, 20);
			return sig.GenerateSignature();
		}
Esempio n. 2
0
        public void ThrowIfSignatureNotOkay(byte[] signature, params byte[][] inputs)
        {
            var signer = new DsaDigestSigner(new ECDsaSigner(), new Sha256Digest());
            signer.Init(false, _publicKey);

            foreach (var input in inputs)
            {
                signer.BlockUpdate(input, 0, input.Length);
            }

            if (!signer.VerifySignature(signature))
            {
                throw new ApplicationException();
            }
        }