Digital Signatures

  • Note

    Requires the Features.digitalSignatures feature flag.
    See more

    Declaration

    Objective-C

    
    @interface PSPDFDigitalSignatureReference : NSObject

    Swift

    class DigitalSignatureReference : NSObject
  • A PSPDFDocumentSignerDelegate gives flexibility to the process of adding a digital signature to a document.

    Implement the documentSigner:signData:hashAlgorithm:completion method to sign the required data and invoke completion when ready. The document signer will automatically embed the signed data inside the signature.

    See more

    Declaration

    Objective-C

    @protocol PSPDFDocumentSignerDelegate <NSObject>

    Swift

    protocol PDFDocumentSignerDelegate : NSObjectProtocol
  • A data source that, when configured on a PSPDFSigner instance or one of its subclasses, gives implementors a chance to configure some details of a digital signature.

    See more

    Declaration

    Objective-C

    @protocol PSPDFDocumentSignerDataSource <NSObject>

    Swift

    protocol PDFDocumentSignerDataSource : NSObjectProtocol
  • A PKCS12 container holding a private key and certificate.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFPKCS12 : NSObject <NSSecureCoding>

    Swift

    class PKCS12 : NSObject, NSSecureCoding
  • Concrete implementation of a PSPDFSigner.

    This class augments the functionality of its superclass by supporting password-protected PKCS12 files (.p12 extension).

    See more

    Declaration

    Objective-C

    
    @interface PSPDFPKCS12Signer : PSPDFSigner

    Swift

    class PKCS12Signer : PDFSigner
  • An instance of this class represents a PKCS7 (https://tools.ietf.org/html/rfc2315) cryptographic container. This container format is the most common format used for signing PDFs digitally. For example, you can use an instance of this class when you want to sign a document that was already prepared for deferred digital signing. One example scenario may be the following:

    See more

    Declaration

    Objective-C

    
    @interface PSPDFPKCS7 : NSObject

    Swift

    class PKCS7 : NSObject
  • Represents a cryptographic private key.

    Supported encodings are PKCS1 (https://tools.ietf.org/html/rfc8017) and PKCS8 (https://tools.ietf.org/html/rfc5208).

    See more

    Declaration

    Objective-C

    
    @interface PSPDFPrivateKey : NSObject
    extension PrivateKey: DataSigning

    Swift

    class PrivateKey : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface PSPDFRSAKey : NSObject
    
    PSPDF_EMPTY_INIT_UNAVAILABLE
    
    /// The underlying public key scheme.
    @property (nonatomic, readonly) NSString *publicKeyScheme;
    
    /// Returns the approximate length of the security parameter. For example, for RSA this is the size of the modulus.
    @property (nonatomic, readonly) NSInteger keyLength;
    
    @end

    Swift

    class RSAKey : NSObject
  • A PSPDFSignatureContents instance that returns zeroed data.

    Declaration

    Objective-C

    
    @interface PSPDFBlankSignatureContents : NSObject <PSPDFSignatureContents>

    Swift

    class BlankSignatureContents : NSObject, PDFSignatureContents
  • An interface for producing content that will be inside the Contents key of a signature dictionary.

    This interface abstracts the digital signature that can be in a signature form field so that you can create your own and place it inside the document. You can call -[PSPDFSigner prepareFormElement:toBeSignedWithAppearance:contents:writingToDataSink:completion:] and pass an instance of this interface to prepare a document for digital signing.

    See more

    Declaration

    Objective-C

    @protocol PSPDFSignatureContents <NSObject>

    Swift

    protocol PDFSignatureContents : NSObjectProtocol
  • Signature info for signature form fields.

    See

    ISO 32000-2:2017(E) Table 255 — Entries in a signature dictionary
    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignatureInfo : NSObject

    Swift

    class PDFSignatureInfo : NSObject
  • Manages signature handlers for digital signature creation. Thread safe.

    A SignatureViewController allows the user to select from certificates (signers) registered with the signature manager. However, SignatureViewController is only used by PSPDFKit if the Annotations component is enabled in your license from before the introduction of the Electronic Signatures component. Registered signers are not used by the UI of the Electronic Signatures component (SignatureCreationViewController).

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignatureManager : NSObject

    Swift

    class PDFSignatureManager : NSObject
  • Represents entries in the signature properties. Signatures can have properties that describe how and when they were built.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignaturePropBuild : NSObject

    Swift

    class PDFSignaturePropBuild : NSObject
  • Represents one entry in the signature properties.

    Signatures can have properties that describe how and when they were built.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignaturePropBuildEntry : NSObject

    Swift

    class PDFSignaturePropBuildEntry : NSObject
  • Represents the status of a digital signature after it has been validated.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignatureStatus : NSObject

    Swift

    class PDFSignatureStatus : NSObject
  • This class validates digital signatures in a PDF document. Validation consists of two steps: Checking that the signature integrity is correct (that is, the document was not modified after it was signed), and ensuring that the chain of certificates contained in the signature is trusted.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignatureValidator : NSObject

    Swift

    class PDFSignatureValidator : NSObject
  • This class configures the appearance that a PSPDFSignatureElement will have in a document when signed.

    By default, a digital signature form element will show information from the signing certificate, like the signer’s name, the date when the document was signed, and so on. Use a PSPDFSignatureAppearance instance when you want to configure further how this information is presented to the user.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignatureAppearance
        : PSPDFBaseConfiguration <PSPDFSignatureAppearanceBuilder *>

    Swift

    class PDFSignatureAppearance : BaseConfiguration<PDFSignatureAppearanceBuilder>
  • An instance of PSPDFSignatureBiometricProperties represents properties which add biometric information to a digital signature, for enhanced security. Biometric information includes the input method pressure values, time intervals when the signature was being created, or average touch radius.

    This information is encrypted and stored inside the PDF document using the signer’s public key, and can be decrypted with the appropriate private key.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignatureBiometricProperties : NSObject <NSSecureCoding>

    Swift

    class PDFSignatureBiometricProperties : NSObject, NSSecureCoding
  • The signature type defines the digital signature format that will be used to sign the document.

    See more

    Declaration

    Objective-C

    enum PSPDFSignatureType : NSUInteger {}

    Swift

    @frozen enum PDFSignatureType : UInt, @unchecked Sendable
  • A PSPDFAnnotationAppearanceStream manages an image to include as part of an annotation appearance (ie. a handwritten signature). Supported filetypes are .JPG and .PDF. For PDF files, the first page of the document is used.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFAnnotationAppearanceStream : NSObject

    Swift

    class AppearanceStream : NSObject
  • PSPDFSigner is an abstract signer class. Override methods in subclasses as necessary.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSigner
        : NSObject <PSPDFDocumentSignerDelegate, PSPDFDocumentSignerDataSource,
                    PSPDFExternalSignature, NSSecureCoding>

    Swift

    class PDFSigner : NSObject, PDFDocumentSignerDelegate, PDFDocumentSignerDataSource, ExternalSignature, NSSecureCoding
  • The PAdES profile level of a validated digital signature, as described by ETSI.

    See more

    Declaration

    Objective-C

    enum PSPDFPadesSignatureLevel : NSInteger {}

    Swift

    @frozen enum PDFPadesSignatureLevel : Int, @unchecked Sendable
  • This class represents a X.509 certificate.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFX509 : NSObject

    Swift

    class X509 : NSObject
  • Shows the current signature state of a PSPDFSignatureFormElement.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFSignedFormElementViewController
        : PSPDFBaseTableViewController <PSPDFOverridable>

    Swift

    class SignedFormElementViewController : BaseTableViewController, Overridable
  • Displays a view controller to offer selecting a signer for digitally signing a document.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFCertificatePickerViewController
        : PSPDFStatefulTableViewController <PSPDFOverridable>

    Swift

    class CertificatePickerViewController : StatefulTableViewController, Overridable
  • The digital signature coordinator handles signing and presenting a digitally signed document. Signing a document with a certificate creates a readonly copy, as the file has to be completely re-written.

    Note

    Depending on your application logic you will want to choose where to store this new file. PSPDFKit suggests a randomized temporary folder + file name as default location.

    Register your subclass via overrideClass:withClass: on the configuration object. Don’t instantiate an object of this class yourself.

    See more

    Declaration

    Objective-C

    
    @interface PSPDFDigitalSignatureCoordinator : NSObject <PSPDFOverridable>

    Swift

    class DigitalSignatureCoordinator : NSObject, Overridable