Hi
I planned to validate self-signed certificate against Trusted root certificate authorities in windows machine. Initially I used below Wininet API Internetqueryoption to get self signed certificate Issuer or subject, then the same need to be validated against system trusted root certificate authorities. If its there, then i will print certificate found, else certificate is not found.
if you have any other approach, Please let us know
Code:
code snippet
INTERNET_CERTIFICATE_INFO certificateInfo;
certInfoLength = sizeof(INTERNET_CERTIFICATE_INFO);
if ( TRUE == InternetQueryOption( hRequest,
INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT,
&certificateInfo,
&certInfoLength) )
{
// free up memory with LocalFree()
if ( certificateInfo.lpszEncryptionAlgName )
{
std::cout << (char *) certificateInfo.lpszEncryptionAlgName << std::endl;
LocalFree( certificateInfo.lpszEncryptionAlgName);
}
if ( certificateInfo.lpszIssuerInfo )
{
std::cout << (char *) certificateInfo.lpszIssuerInfo << std::endl;
LocalFree( certificateInfo.lpszIssuerInfo );
}
if ( certificateInfo.lpszProtocolName )
{
std::cout << (char *) certificateInfo.lpszProtocolName << std::endl;
LocalFree( certificateInfo.lpszProtocolName );
}
if ( certificateInfo.lpszSignatureAlgName )
{
std::cout << (char *) certificateInfo.lpszSignatureAlgName << std::endl;
LocalFree( certificateInfo.lpszSignatureAlgName );
}
if ( certificateInfo.lpszSubjectInfo )
{
std::cout << (char *) certificateInfo.lpszSubjectInfo << std::endl;
LocalFree( certificateInfo.lpszSubjectInfo );
}
}
Thanks
Ananth