Signer SubjectKeyIdentifier trong CMS
HotPDF có thể định danh primary signer CMS bằng extension subjectKeyIdentifier của X.509 thay vì tên issuer và số serial chứng chỉ
Chọn định danh
HPDFCMSDefaultOptions đặt THPDFCMSSignOptions.SignerIdentifier thành cmsidIssuerAndSerialNumber để các caller hiện tại giữ nguyên hình dạng byte CMS tất định của họ
Đặt trường này thành cmsidSubjectKeyIdentifier trước khi gọi HPDFCMSBuildSignedDataEx, một hàm dựng CMS dựa trên provider, ước tính placeholder, hoặc overload ký cấp cao nhận THPDFCMSSignOptions
Options := HPDFCMSDefaultOptions(palBaseline_B_B);
Options.SignerIdentifier := cmsidSubjectKeyIdentifier;
CMS := HPDFCMSBuildSignedDataEx(KeyMaterial, DocumentDigest, Options);
Yêu cầu chứng chỉ
Chứng chỉ signer phải chứa đúng một extension X.509 không rỗng với OID 2.5.29.14 mà giá trị extension chứa một DER OCTET STRING hoàn chỉnh
HotPDF thất bại trước khi ký khi extension đó vắng mặt, trùng lặp, rỗng, bị cắt ngắn, hoặc sai định dạng; nó không tổng hợp key identifier từ khóa công khai
SigningCertificateV2 tiếp tục ràng buộc cùng chứng chỉ với các trường issuer và serial ngay cả khi SID của SignerInfo dùng key identifier
Định dạng truyền và xác minh
Key identifier được mã hóa dạng IMPLICIT [0] nguyên thủy, SignerInfo.version là 3, và SignedData.version của container một signer được sinh ra là 3 theo yêu cầu của RFC 5652
Xác minh yêu cầu byte SID khớp với extension của chứng chỉ nhúng và từ chối giá trị SID không khớp, bản ghi issuer-and-serial với signer version khác 1, bản ghi SKI với signer version khác 3, và container SKI có version bên ngoài dưới 3
Định danh gọn này hữu ích cho các kho chứng chỉ định hướng khóa và quy trình không giữ lại mã hóa tên issuer, nhưng phần mềm tiêu thụ phải hỗ trợ lựa chọn SKI của RFC 5652
HPDFCMSBuildCounterSignerInfo tiếp tục dùng định danh issuer-and-serial; cấu hình primary signer qua THPDFCMSSignOptions
Xem các provider chữ ký hiện đại và tính nhất quán thuật toán digest CMS