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
CertificateDERDER kodlu imzalama sertifikası; gömülü sertifika ve verici/seri numarası referanslarında kullanılır
Ed25519SeedCNG olmadan Ed25519 imzalarken 32 baytlık seed, aksi hâlde boş
DataAyrık imzanın kapsadığı, önceden özetlenmiş aralık baytları
SubFilterNitelik seçimini yönlendiren /ETSI.CAdES.detached gibi hedef /SubFilter
DigestAlgorithmOrd(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
CommitmentTypeDERDER kodlu taahhüt türü niteliği; yoksa boş
SignaturePolicyDERDER kodlu imza politikası tanımlayıcısı; yoksa boş
NCryptKeyHandleAçı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
AllowPrivateKeyUIAnahtar 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
ExternalSenderExternalSigner geri çağırmasına geri geçirilen gönderici
ExternalSignProcessIDGeri çağırmaya geri geçirilen imza işlemi tanımlayıcısı
ExternalSignatureAlgorithmPL_EXTERNAL_SIGNATURE_RSA_PKCS1, PL_EXTERNAL_SIGNATURE_ECDSA_DER, PL_EXTERNAL_SIGNATURE_ECDSA_P1363 değerlerinden biri
RSAPSSPaddingRSA imzaları için RSASSA-PSS dolgusunu seçer
RevocationInfoDERRevocationInfoChoices 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