PLBuildModernDetachedCMS
Kriptografi, dijital imzalar
Açıklama
Windows CryptoAPI mesaj katmanının ifade edemediği algoritmalar için RSA, ECDSA veya Ed25519 imzaları etrafında ayrık bir CMS SignedData kurar
İmzalayan sertifikası ve zincir bağlamı, özet algoritması, taahhüt türü ve imza politikası DER'leri, iptal malzemesi ve dolgu politikasının tümü parametrelerle girer; ham imzayı CNG NCrypt, harici bir özet imzalayan geri çağırması veya saf-Pascal Ed25519 yolu sağlar
Sözdizimi
Delphi
Function PLBuildModernDetachedCMS(CertContext: Pointer;
Const CertificateDER, Ed25519Seed, Data, SubFilter: AnsiString;
DigestAlgorithm: Integer; Const CommitmentTypeDER,
SignaturePolicyDER: AnsiString; NCryptKeyHandle: TPLIntPtr= 0;
AllowPrivateKeyUI: Boolean= False;
ExternalSigner: TPDFlibExternalDigestSignEvent= Nil;
ExternalSender: TObject= Nil; ExternalSignProcessID: Integer= 0;
ExternalSignatureAlgorithm: Integer= 0;
RSAPSSPadding: Boolean= False;
Const RevocationInfoDER: AnsiString= ''): AnsiString;Parametreler
| CertContext | İmzalama sertifikasının Windows CERT_CONTEXT tanıtıcısı; saf harici imzalayan yolu için Nil |
|---|---|
| CertificateDER | DER kodlu imzalama sertifikası; gömülü sertifika ve verici/seri numarası referanslarında kullanılır |
| Ed25519Seed | CNG olmadan Ed25519 imzalarken 32 baytlık seed, aksi hâlde boş |
| Data | Ayrık imzanın kapsadığı, önceden özetlenmiş aralık baytları |
| SubFilter | Nitelik seçimini yönlendiren /ETSI.CAdES.detached gibi hedef /SubFilter |
| DigestAlgorithm | Ord(TPDFlibDigestAlgorithm) ile eşleşen özet algoritması sırası: 2 SHA-256, 3 SHA-384, 4 SHA-512, 5 ile 7 arası SHA-3 ailesi |
| CommitmentTypeDER | DER kodlu taahhüt türü niteliği; yoksa boş |
| SignaturePolicyDER | DER kodlu imza politikası tanımlayıcısı; yoksa boş |
| NCryptKeyHandle | Açık CNG anahtar tanıtıcısı; 0, fonksiyonun sertifika özel anahtarını kendisinin açmasına izin verir, isteğe bağlı olarak UI gösterilir |
| AllowPrivateKeyUI | Anahtar kullanıcı varlığı gerektirdiğinde CNG anahtar edinme iletişim kutusuna izin verir |
| ExternalSigner | Özeti alıp ham imzayı döndüren geri çağırma; HSM veya uzak imzalama için |
| ExternalSender | ExternalSigner geri çağırmasına geri geçirilen gönderici |
| ExternalSignProcessID | Geri çağırmaya geri geçirilen imza işlemi tanımlayıcısı |
| ExternalSignatureAlgorithm | PL_EXTERNAL_SIGNATURE_RSA_PKCS1, PL_EXTERNAL_SIGNATURE_ECDSA_DER, PL_EXTERNAL_SIGNATURE_ECDSA_P1363 değerlerinden biri |
| RSAPSSPadding | RSA imzaları için RSASSA-PSS dolgusunu seçer |
| RevocationInfoDER | RevocationInfoChoices olarak gömülecek önceden toplanmış iptal bilgisi |
Dönüş değeri
DER kodlu ayrık CMS; herhangi bir imzalama adımı başarısız olursa boş dizge
Açıklamalar
Bu yordam, imza sürecinin modern imza yollarının motorudur; doğrudan çağırmak taahhüt ve politika nitelikleri üzerinde tam denetim sağlar ve dönen baytlar, PLIsModernDetachedCMS ile doğrulanmış veride olduğu gibi PDF /Contents boşluğuna yerleşir
Ayrıca bkz
PLVerifyModernDetachedCMS, PLIsModernDetachedCMS, PLModernSignatureSizeEstimate, TPDFlibExternalDigestSignEvent, SetSignProcessExternalDigestSigner