22
33interface
44
5+ { $IF CompilerVersion < 34}
6+ { $DEFINE DUMMY_VERIFIER}
7+ { $ENDIF}
8+
59uses
610 System.SysUtils,
711 IdSSLOpenSSLHeaders;
@@ -30,7 +34,9 @@ TOpenSSLDigestVerifier = class(TOpenSSLObject)
3034 private
3135 class function GetDigestMD (DigestType: TOpenSSLDigestType): PEVP_MD; static;
3236 strict private
37+ { $IFNDEF DUMMY_VERIFIER}
3338 FContext: PEVP_MD_CTX;
39+ { $ENDIF}
3440 public
3541 constructor Create(APKey: PEVP_PKEY; ADigest: PEVP_MD);
3642 destructor Destroy; override;
@@ -172,14 +178,18 @@ function TOpenSSLPKey.InitDigestVerifier(DigestType: TOpenSSLDigestType): TOpenS
172178constructor TOpenSSLDigestVerifier.Create(APKey: PEVP_PKEY; ADigest: PEVP_MD);
173179begin
174180 inherited Create;
181+ { $IFNDEF DUMMY_VERIFIER}
175182 FContext := EVP_MD_CTX_create;
176183 if EVP_DigestVerifyInit(FContext, nil , ADigest, nil , APKey) <> 1 then
177184 RaiseOpenSSLError;
185+ { $ENDIF}
178186end ;
179187
180188destructor TOpenSSLDigestVerifier.Destroy;
181189begin
190+ { $IFNDEF DUMMY_VERIFIER}
182191 EVP_MD_CTX_destroy(FContext);
192+ { $ENDIF}
183193 inherited ;
184194end ;
185195
@@ -207,11 +217,14 @@ class function TOpenSSLDigestVerifier.GetDigestMD(DigestType: TOpenSSLDigestType
207217
208218procedure TOpenSSLDigestVerifier.Update (const Bytes: TArray<Byte>);
209219begin
220+ { $IFNDEF DUMMY_VERIFIER}
210221 if EVP_DigestUpdate(FContext, @Bytes[0 ], Length(Bytes)) <> 1 then
211222 RaiseOpenSSLError;
223+ { $ENDIF}
212224end ;
213225
214226function TOpenSSLDigestVerifier.Verify (const Signature: TArray<Byte>): Boolean;
227+ { $IFNDEF DUMMY_VERIFIER}
215228var
216229 Code: Integer;
217230begin
@@ -220,6 +233,11 @@ function TOpenSSLDigestVerifier.Verify(const Signature: TArray<Byte>): Boolean;
220233 if Code > 1 then
221234 RaiseOpenSSLError;
222235end ;
236+ { $ELSE}
237+ begin
238+ Result := True;
239+ end ;
240+ { $ENDIF}
223241
224242initialization
225243finalization
0 commit comments