TsgcWSAPIServer_WebAuthn이벤트 › OnWebAuthnRegistrationValidateCertificate

OnWebAuthnRegistrationValidateCertificate 이벤트

/register/verify 중에 발생하여 애플리케이션이 attestation 인증서 체인을 검증하고(예: 캐시된 FIDO MDS에 대해) 내장 검사를 재정의할 수 있게 합니다.

구문

property OnWebAuthnRegistrationValidateCertificate: TsgcWebAuthnOnRegistrationValidateCertificate;
// TsgcWebAuthnOnRegistrationValidateCertificate = procedure(Sender: TObject; const aRequest: TsgcWebAuthn_RegistrationVerify_Request; const aValidate: TsgcWebAuthnValidateAttestationStatement; var Handled: Boolean) of object

기본값

설명

애플리케이션이 attestation 명령문 검증을 인계받을 수 있도록 합니다. aValidate는 파싱된 attestation(format, signature, AAGUID, x5c 체인)을 노출하고 핸들러가 이를 유효 또는 무효로 표시할 수 있도록 합니다. 코드가 명령문을 완전히 검증(또는 거부)했음을 서버에 알리려면 Handled를 true로 설정하십시오 — 그러면 내장 validator가 건너뛰어집니다. 표준 검사 위에 추가 정책(CA pinning, MDS의 authenticator allowlist)만 적용하려는 경우와 같이 후크 이후에 기본 로직이 실행되도록 하려면 Handled를 false로 두십시오.

예제

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;

이벤트로 돌아가기