0
Ich versuche Funktion zu implementieren OpenSSL, zu unterschreiben Dateien mit und ich brauchePolsterung und Salz zu aktivieren. Meine Signaturfunktion ist wie folgt:aktivieren Polsterung und Salz
unsigned char * sign(EVP_PKEY * pkey, const EVP_MD * htype, char * data, int data_len, int * sig_len)
{
EVP_MD_CTX md_ctx;
unsigned char *sig = malloc(EVP_PKEY_size(pkey));
*sig_len = EVP_PKEY_size(pkey);
EVP_SignInit (&md_ctx, htype);
EVP_SignUpdate (&md_ctx, data, data_len);
if (EVP_SignFinal (&md_ctx, sig, sig_len, pkey) != 1)
{
free(sig);
sig = 0;
*sig_len = 0;
ERR_print_errors_fp(stderr);
}
return sig;
}
Gibt es ein Beispiel für das Hinzufügen von Füllmaterial und Salz? Hat jemand eine Idee, die zur Lösung dieses Problems beitragen kann?
Siehe auch [EVP Signing and Verifying] (https://wiki.openssl.org/index.php/EVP_Signing_and_Verifying) im OpenSSL-Wiki. – jww
Eine Signatur erfordert kein Salz als Eingabe. PSS ist nicht deterministisch, also erfordert es zufällige Werte zu betreiben, ist das was du meinst? Padding wird vor der modularen Potenzierung für RSA ausgeführt, es ist nicht etwas, das Sie kodieren müssen. Sowohl die Randomisierung als auch das Padding werden * intern * vom Signaturalgorithmus durchgeführt. Für mich ist völlig unklar, was Sie erreichen wollen, aber vielleicht liegt das an [dem XY-Problem] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). –
Hallo Maarten, Danke für Ihre Antwort. Mir war [das XY-Problem] nicht bekannt (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Mein Problem X ist, dass ich RSA-Signatur mit Padding und Salz implementieren möchte. Meine Lösung Y ist der Code, den ich gepostet habe, der nur RSA implementiert (ohne Padding und Salz). Wie Sie gesagt haben, "padding wird intern vom Signaturalgorithmus durchgeführt", also habe ich nach den Optionen gesucht, die übergeben werden, so dass der RSA mit dem Padding und dem Salz berechnet wird. Ich habe gerade die Lösung gefunden und werde sie veröffentlichen. – user2427860