anchor.diff:  begin
     LoadOpenSSL;
     LCertificateBIO := BIO_new(BIO_s_mem);
  +  Result:=False;
     try
       BIO_write(LCertificateBIO, @ACertificate[0], Length(ACertificate));
       if not CompareMem(@PKCS1_X509_CERTIFICATE[1], @ACertificate[0], Length(PKCS1_X509_CERTIFICATE)) then
  
positive.code: begin
    LoadOpenSSL;
    LCertificateBIO := BIO_new(BIO_s_mem);
    try
      BIO_write(LCertificateBIO, @ACertificate[0], Length(ACertificate));
      if not CompareMem(@PKCS1_X509_CERTIFICATE[1], @ACertificate[0], Length(PKCS1_X509_CERTIFICATE)) then
  
negative.code:   LCtx: PEVP_MD_CTX;
    LSha: PEVP_MD;
  begin
    Result := False;
    if CompareMem(@PKCS1_X509_CERTIFICATE[1], @AKeyOrCertificate[0], Length(PKCS1_X509_CERTIFICATE)) then
      Result := VerifyWithCertificate(AInput, ASignature, AKeyOrCertificate, AAlg)
    else
  