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