TsgcWSAPIServer_WebAuthn › Olaylar › OnWebAuthnRegistrationValidateCertificate
/register/verify sırasında, uygulamanın attestation sertifika zincirini doğrulamasına (örneğin önbelleğe alınmış bir FIDO MDS'ye karşı) ve yerleşik denetimi geçersiz kılmasına olanak tanımak için tetiklenir.
property OnWebAuthnRegistrationValidateCertificate: TsgcWebAuthnOnRegistrationValidateCertificate;
// TsgcWebAuthnOnRegistrationValidateCertificate = procedure(Sender: TObject; const aRequest: TsgcWebAuthn_RegistrationVerify_Request; const aValidate: TsgcWebAuthnValidateAttestationStatement; var Handled: Boolean) of object
—
Uygulamanın attestation statement doğrulamasını devralmasına olanak tanır. aValidate, ayrıştırılan attestation'ı (format, signature, AAGUID, x5c zinciri) gösterir ve işleyicinin onu geçerli veya geçersiz olarak işaretlemesine olanak tanır. Kodunuzun statement'ı tamamen doğruladığını (veya reddettiğini) sunucuya söylemek için Handled değerini true olarak ayarlayın — yerleşik doğrulayıcı o zaman atlanır. Yalnızca standart kontrollerin üzerine ekstra bir politika (CA pinning, MDS'ten authenticator allowlist) uygulamak istediğinizde yararlı olan, varsayılan mantığın kancadan sonra çalışmasına izin vermek için Handled değerini false bırakın.
procedure TForm1.sgcWSAPIServer_WebAuthn1WebAuthnRegistrationValidateCertificate(
Sender: TObject; const aRequest: TsgcWebAuthn_RegistrationVerify_Request;
const aValidate: TsgcWebAuthnValidateAttestationStatement;
var Handled: Boolean);
begin
if IsAAGUIDBlocked(aValidate.AAGUID) then
begin
aValidate.Valid := False;
Handled := True;
end;
end;