public override byte[] Sign(Stream data)
 {
     SHA256 sha = new SHA256CryptoServiceProvider();
     String hashAlgorithm = DigestAlgorithms.SHA256;
     Hash = DigestAlgorithms.Digest(data, DigestAlgorithms.GetMessageDigest(hashAlgorithm));
     return new byte[0];
 }
예제 #2
0
            public byte[] Sign(Stream data)
            {
                BasicOcspResp basicResp = (BasicOcspResp)ocspResp.GetResponseObject();

                byte[] oc = basicResp.GetEncoded();
                Collection <byte[]> ocspCollection = new Collection <byte[]>();

                ocspCollection.Add(oc);
                String   hashAlgorithm = "SHA256";
                PdfPKCS7 sgn           = new PdfPKCS7(null, chain, hashAlgorithm, false);

                byte[] hash = DigestAlgorithms.Digest(data, DigestAlgorithms.GetMessageDigest(hashAlgorithm));

                byte[] sh = sgn.GetAuthenticatedAttributeBytes(hash, PdfSigner.CryptoStandard.CADES, ocspCollection,
                                                               null);

                //create sha256 message digest
                using (SHA256 sha256 = SHA256.Create()) {
                    sh = sha256.ComputeHash(sh);
                }

                //create hex encoded sha256 message digest
                String hexencodedDigest = new BigInteger(1, sh).ToString(16).ToUpper();

                JObject signed = PDFSigningService.Sign(baseURL, id, hexencodedDigest, access);
                String  sig    = (String)signed.GetValue("signature");

                //decode hex signature
                byte[] dsg = Hex.Decode(sig);

                //include signature on PDF
                sgn.SetExternalDigest(dsg, null, "RSA");

                //create TimeStamp Client
                ITSAClient tsc = new DSSTSAClient(access);

                return(sgn.GetEncodedPKCS7(hash, PdfSigner.CryptoStandard.CADES, tsc, ocspCollection, null));
            }
예제 #3
0
 public IDigest GetMessageDigest()
 {
     return(DigestAlgorithms.GetMessageDigest(this.digestAlgorithm));
 }
예제 #4
0
 public IDigest GetMessageDigest()
 {
     return(DigestAlgorithms.GetMessageDigest(DEFAULTHASHALGORITHM));
 }
예제 #5
0
 protected C1_02_DigestBC(String password, String algorithm)
 {
     messageDigest = DigestAlgorithms.GetMessageDigest(algorithm);
     digest        = DigestAlgorithms.Digest(new MemoryStream(Encoding.UTF8.GetBytes(password)), messageDigest);
 }