public virtual void SignData(IPdfSigningSession pdfPostSigningSession, string signedHashBase64) { try { var signedPdfData = Convert.FromBase64String(signedHashBase64); var authenticatedAttribute = Convert.FromBase64String(pdfPostSigningSession.AuthenticatedAttributes.ValueBase64); TokenService.ValidateSignature(pdfPostSigningSession.UserCertificate, pdfPostSigningSession.HashAlgorithm, authenticatedAttribute, signedPdfData); var publicKeyManager = GetPublicKeyManager(pdfPostSigningSession); publicKeyManager.SetExternalDigest(signedPdfData, null, pdfPostSigningSession.SignatureAlgorithm); //var tsaServer = new TSAClientBouncyCastle("https://freetsa.org/tsr"); var encodedSignature = publicKeyManager .GetEncodedPKCS7 ( pdfPostSigningSession.AuthenticatedAttributes.DigestedData, null, null, null, CryptoStandard.CMS ); UpdatePdfDictionaryContents(pdfPostSigningSession.AuthenticatedAttributes.PdfSignatureAppearance, encodedSignature); } catch (Exception ex) { UpdatePdfDictionaryContents(pdfPostSigningSession.AuthenticatedAttributes.PdfSignatureAppearance, new byte[] { }); throw ex; } }
public virtual void OnCreateCache(IPdfSigningSession pdfPostSigningSession, ISigningDocument document, CacheItemPolicy cacheItemPolicy, out bool removerCache) { removerCache = true; if (!Cache.Add(pdfPostSigningSession.FileId, pdfPostSigningSession, cacheItemPolicy)) { throw new FileBeingSignedException(); } }
public virtual void UpdateDocument(IPdfSigningSession pdfPostSigningSession, ISigningDocument document) { }
public virtual void OnDocumentSigned(IPdfSigningSession sessionData) { }