Introduction
MuPDF Android App Kit
MuPDF iOS App Kit
Download App Kit

PDF Signatures

Overview

An implementer needs access to a system that can perform the PKCS7 based signing and verification. This system must be used to implement the protocol ARDKDigitalSigningDelegate and supply an instance by setting the ARDKDocSession signingDelegate property. Please refer to the iOS SDK and the implementation of the ARDKDigitalSigningDelegate based on OpenSSL.

Swift
self.session.signingDelegate = SigningDelegate()

/**
 * Implement signing as required
 */
class SigningDelegate:NSObject, ARDKDigitalSigningDelegate {
    func createSigner(_ presentingViewController: UIViewController!,
                        onComplete: ((ARDKSigner?) -> Void)!) {

    }

    func createVerifier(_ presentingViewController: UIViewController!,
                        onComplete: ((ARDKVerifier?) -> Void)!) {

    }

    func presentVerifyResult(_ presentingViewController: UIViewController!,
        verifyResult: PKCS7VerifyResult,
        invalidChangePoint: Int32,
        designatedName: PKCS7DesignatedName!,
        description: PKCS7Description!,
        onComplete: (() -> Void)!) {

    }
}
Objective C
self.session.signingDelegate = [[SigningDelegate alloc] init];
@implementation SigningDelegate

/**
 * Implement signing as required
 */
- (void)createSigner:(UIViewController *)presentingViewController
    onComplete:(void (^)(id<PKCS7Signer>))onComplete {

}

- (void)createVerifier:(UIViewController *)presentingViewController
    onComplete:(void (^)(id<PKCS7Verifier>))onComplete {

}

- (void)presentVerifyResult:(UIViewController *)presentingViewController
    verifyResult:(PKCS7VerifyResult)verifyResult
    invalidChangePoint:(int)invalidChangePoint
    designatedName:(id<PKCS7DesignatedName>)designatedName
    description:(id<PKCS7Description>)description
    onComplete:(void (^)(void))onComplete {

}

@end