openssl

03/07/2008 - 09:07 von Martin | Report spam
Hallo Ihr's,

w2k, VC6.0 / VC2005
PocketPC2003, eVC4.0

ich habe die openssl für win32 und wce kompiliert.
Unter win32 liefert PEM_read_X509 das Zertifikat,
unter wce jedoch NULL und den Fehler "no start line".

Googelt man nach PEM_read_X509 no start line, findet
man den Hinweis, dass die Ursache das Zertifikat ist.

Ich lese aber auf win32 und wce das identische Zertifikat
ein.

Die Funktion:
SSL_CTX_use_certificate_file(m_pSSLContext, "\\clientcert.pem",
SSL_FILETYPE_PEM)
liefert hingegen keinen Fehler, auch funktioniert der SSL Handshake
und laut Sniffer ist die Verbindung auch soweit verschlüsselt.

Hat jemand von Euch sich mit dem Thema openssl und POcketPC
schon mal befasst, kann Hinweise oder Tips geben. Ich möchte nur
das Datum ermitteln bis zu welchem das Zertifikat gültig ist.

Besten Dank im Voraus.

Viele Grüße, Martin
 

Lesen sie die antworten

#1 Martin
03/07/2008 - 09:53 | Warnen spam
Folgendes Beispiel funktioniert funktioniert auch nicht
GetLastError liefert 0x80092003:
Beim Lesen oder Schreiben einer Datei ist ein Fehler aufgetreten.
o.O


HANDLE hFile = CreateFile(
L"\\clientcert.pem", // the file name
GENERIC_READ|GENERIC_WRITE, // access mode:
// read from and write to
// this file
0, // share mode
NULL, // security
OPEN_ALWAYS, // how to create
FILE_ATTRIBUTE_NORMAL, // file attributes
NULL);

if( hFile == INVALID_HANDLE_VALUE )
return;

HCERTSTORE hCert = CertOpenStore(
CERT_STORE_PROV_FILE, // load certificates from a file
0, // encoding type not used
NULL, // use the default HCRYPTPROV
CERT_STORE_READONLY_FLAG, // see the LOWORD of dwFlags to make
// the store read-only
hFile // the handle for the open file
// that is the source of the
// certificates
);

if( hCert == NULL )
{
DWORD dwErr = GetLastError();
CloseHandle(hFile);
return;
}

CertCloseStore(hCert, CERT_CLOSE_STORE_CHECK_FLAG);
CloseHandle(hFile);

Ähnliche fragen