Hallo zusammen,
ich stosse momentan auf folgendes Problem:
Der IdSSLIOHandlerSocketOpenSSL meldet immer "certificate verify failed".
Hier mein Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
http.Get('
https://mail.google.com')
except
on e:
Exception do
begin
ShowMessage(e.
Message);
end;
end;
end;
procedure TForm1.iohandlerStatusInfoEx(ASender: TObject;
const AsslSocket: PSSL;
const AWhere, Aret: Integer;
const AType, AMsg:
string);
begin
Memo1.Lines.Add(aMsg);
end;
function TForm1.iohandlerVerifyPeer(Certificate: TIdX509; AOk: Boolean; ADepth,
AError: Integer): Boolean;
begin
Result := AOk;
end;
StatusInfoEx meldet folgendes:
Zitat:
before/connect initialization
before/connect initialization
SSLv2/v3 write client hello A
SSLv3 read server hello A
unknown CA
SSLv3 read server certificate B
SSLv3 read server certificate B
Er kennt also die CA nicht. Müsste er das nicht eigentlich bei Google?
Ich habe im Netz gelesen, dass OpenSSL seinen eigenen Zertifikat Store benutzt.
Ist der nicht mit den gängigsten Zertifikaten vorbefüllt oder muss man diesen erst initialisieren?
Oder mache ich generell was falsch?
Gruss Jonny