本页内容
验证数字证书
验证数字证书时,将会自动验证证书的证书链中的所有证书是否可信,以及证书是否过期。只有未过期且证书链中所有证书都可信的证书,才是可信任的数字证书。
验证数字证书示例代码如下:
swift
// 验证数字证书。
//
// 若要验证证书的可信度,您需要验证证书链中的所有证书都是可信的。
//
// 在ComPDFKit中,此程序是自动的。
// 您直接调用 "signature.verifySignature(with: document)"。
// 然后获取签名的 isCertTrusted判断证书是否可信
//
if let url = URL(string: pdfPath) {
let document = CPDFDocument(url: url)
if let signatures = document?.signatures {
// 遍历所有数字签名
for signature in signatures {
signature.verifySignature(with: document)
if let signer = signature.signers.first, let certificate = signer.certificates.first {
var isCertTrusted = true
if !signer.isCertTrusted {
isCertTrusted = false
}
}
}
}
}
objective-c
// 验证数字证书。
//
// 若要验证证书的可信度,您需要验证证书链中的所有证书都是可信的。
//
// 在ComPDFKit中,此程序是自动的。
// 您直接调用 "signature.verifySignature(with: document)"。
// 然后获取签名的 isCertTrusted判断证书是否可信
//
NSURL *url = [NSURL fileURLWithPath:@"file path"];
CPDFDocument *document = [[CPDFDocument alloc] initWithURL:url];
NSArray *signatures = [document signatures];
// 遍历所有数字签名
for (CPDFSignature *signature in signatures) {
[sign verifySignatureWithDocument:document];
CPDFSigner *signer = signature.signers.firstObject;
BOOL isCertTrusted = YES;
if (!signer.isCertTrusted) {
isCertTrusted = NO;
}
}