Agregar archivos de proyecto.
This commit is contained in:
64
TSPdfUtils/ExternalTimestampContainer.vb
Normal file
64
TSPdfUtils/ExternalTimestampContainer.vb
Normal file
@@ -0,0 +1,64 @@
|
||||
|
||||
Imports System.IO
|
||||
Imports TSpdf.Kernel.Font
|
||||
|
||||
Imports System.Security.Cryptography.X509Certificates
|
||||
|
||||
Imports System.Security.Cryptography
|
||||
Imports TSpdf.Kernel.Pdf
|
||||
Imports TSpdf.Kernel.Utils
|
||||
Imports TSpdf.Forms
|
||||
Imports TSpdf.Signatures
|
||||
Imports System.Text
|
||||
Imports TSpdf.Kernel.Pdf.Canvas
|
||||
Imports TSpdf.Kernel.Geom
|
||||
Imports TSpdf.Layout.Element
|
||||
Imports System.Text.RegularExpressions
|
||||
Imports Org.BouncyCastle.Pkcs
|
||||
Imports TSpdf.Commons.Bouncycastle.Cert
|
||||
Imports TSpdf.Commons.Bouncycastle.Crypto
|
||||
Imports TSpdf.Bouncycastle.Crypto
|
||||
Imports TSpdf.Bouncycastle.Cert
|
||||
Imports TSpdf
|
||||
Imports Org.BouncyCastle.Crypto.Agreement
|
||||
Imports TSpdf.Layout
|
||||
Imports TSpdf.IO.Font.Constants
|
||||
Imports TSpdf.Layout.Properties
|
||||
Imports System.Drawing
|
||||
Imports System.Drawing.Imaging
|
||||
Imports Rectangle = System.Drawing.Rectangle
|
||||
Imports TSpdf.Kernel.Pdf.Colorspace.PdfDeviceCs
|
||||
Imports TSpdf.Layout.Renderer
|
||||
Imports System.Drawing.Text
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports TSpdf.Forms.Fields
|
||||
Imports System.Runtime.CompilerServices
|
||||
Imports TSpdf.Signatures.PdfSigner
|
||||
Imports tsPDFUtilsCore
|
||||
|
||||
Public Class ExternalTimestampContainer
|
||||
Implements IExternalSignatureContainer
|
||||
|
||||
Private ReadOnly tsaClient As ITSAClient
|
||||
|
||||
Public Sub New(ByVal tsaClient As ITSAClient)
|
||||
Me.tsaClient = tsaClient
|
||||
End Sub
|
||||
|
||||
Public Function Sign(ByVal data As Stream) As Byte() Implements IExternalSignatureContainer.Sign
|
||||
' Calcula el hash del contenido usando SHA256
|
||||
Dim hash As Byte()
|
||||
Using hasher As HashAlgorithm = SHA256.Create()
|
||||
hash = hasher.ComputeHash(data)
|
||||
End Using
|
||||
|
||||
' Solicita la marca de tiempo a la TSA
|
||||
Return tsaClient.GetTimeStampToken(hash)
|
||||
End Function
|
||||
|
||||
Public Sub ModifySigningDictionary(ByVal signDic As PdfDictionary) Implements IExternalSignatureContainer.ModifySigningDictionary
|
||||
signDic.Put(PdfName.Filter, PdfName.Adobe_PPKLite)
|
||||
signDic.Put(PdfName.SubFilter, PdfName.ETSI_RFC3161)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user