kickerxy123
Erfahrenes Mitglied
Hallo!
Ich habe ein kleineres Problem mit EVP/OpenSSL.
Kurze Erläuterung: Ich verwende OpenSSL und dort speziell EVP.
Das signieren und verifizieren klappt wunderbar. Wenn ich nun den Pulic Key extrahieren möchte und anschließend einfach wieder setze, dann schlägt es fehl. Konkrete Implementierungen:
Fehlermeldung: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
Kann mir bitte jemand helfen? Ich sehe den Fehler einfach nicht..
Habe die Codeschnippsel gekürzt auf das wesentliche ohne (hier) irrelevante Errorchecks.
Nach meinem Verständnis sollte ein i2d_PUBKEY gefolgt von d2i_PUBKEY problemlos möglich sein.
Leider kenne ich mich mit OpenSSL noch nicht so gut aus... (Die Dokumentation zu OpenSSL ist ein Witz meiner Meinung nach
)
Viele Grüße
kickerxy123
Ich habe ein kleineres Problem mit EVP/OpenSSL.
C++:
EVP* t = new EVP();
cout << t->sign(msg, msgLen, &sign, &signLen)<<endl;
cout << t->verify(msg, msgLen, sign, signLen);
unsigned char* pub;
int pubLen;
cout << t->getPublicKey(&pub, &pubLen) << endl;
cout << pubLen << endl;
cout << t->setPublicKey(pub, pubLen); //problem here
Das signieren und verifizieren klappt wunderbar. Wenn ich nun den Pulic Key extrahieren möchte und anschließend einfach wieder setze, dann schlägt es fehl. Konkrete Implementierungen:
C++:
bool class::getPublicKey(unsigned char** outpub, int* outlen)
{
*outlen= i2d_PUBKEY(pKey, NULL);
*outpub= (unsigned char*)OPENSSL_malloc(*outlen+ 1);
i2d_PUBKEY(pKey, outpub);
}
C++:
bool class::setPublicKey(char* pubKey, int pubKeyLen)
{
pKey= d2i_PUBKEY(NULL, (const unsigned char**)&pubKey, pubKeyLen); //pKey: EVP_PKEY*
if(!pKey)
{
char error[1024];
printf("error:%s\n", ERR_error_string(ERR_get_error(), error)); //wird ausgegeben
}
}
Fehlermeldung: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
Kann mir bitte jemand helfen? Ich sehe den Fehler einfach nicht..
Habe die Codeschnippsel gekürzt auf das wesentliche ohne (hier) irrelevante Errorchecks.
Nach meinem Verständnis sollte ein i2d_PUBKEY gefolgt von d2i_PUBKEY problemlos möglich sein.
Leider kenne ich mich mit OpenSSL noch nicht so gut aus... (Die Dokumentation zu OpenSSL ist ein Witz meiner Meinung nach

Viele Grüße
kickerxy123
Zuletzt bearbeitet: