Arno Garrels wrote: > Zvone wrote: >> Also, is there a mechanism (in ICS) to check for invalid root >> certificates (regarding the recent SSL issue with bad Comodo >> certificates)? > > No there isn't.
Currently not, after some investigation it looks like the easiest way is to use Windows Crypto-API for verification. No more trouble with trusted CAs etc., and Windows also checks for revocated certs even it uses OCSP since AFAIK Vista+. In order to verify a certificate with Windows CertGetCertificateChain seems to be the right API. In order to convert from OpenSSL X509 internal format to Windows format you can use: function OpenSslToMsCertContext(x: PX509): PCCERT_CONTEXT; var Buf, P: PByte; Len: Integer; begin Result := nil; Len := f_i2d_X509(x, nil); if Len > 0 then begin GetMem(Buf, Len); try P := Buf; // This is important since f_i2d_X509 increments P by Len Len := f_i2d_X509(x, @P); if Len > 0 then Result := CertCreateCertificateContext(X509_ASN_ENCODING, Buf, Len); finally FreeMem(Buf); end; end; end; -- Arno Garrels -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be