2011-01-11 4 views
0

Ich habe private_key.pem und public_key.pem. Das öffentliche ist von der Bank unterzeichnet. Um zu versuchen, Daten zu überprüfen, die mir durch Bank geschickt werden, verwende ich php Methode openssl_verify()Überprüfen Sie Daten mit öffentlichen RSA 1024 Openssl-Schlüssel mit openssl_verify()?

Bis jetzt habe ich kein Glück auf das Überprüfen dieser Daten gegen ihren öffentlichen Schlüssel. ich immer diese zwei Fehler erhalten:

error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01

error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed

Ich habe versucht, auch nur um es zu überprüfen, mit shell_exec() -Methode, aber ich wieder denselben Fehlern.

Jeder hat das gesehen und weiß vielleicht, wie man es richtig verifiziert?

+0

Es sieht so aus, als ob Bank nicht PKCS # 1-konformes Padding verwendet. Versuchen Sie, openssl_decrypt() zu verwenden, um zu sehen, was innerhalb der Signatur verschlüsselt ist, vielleicht haben sie nur einen Hash signiert, ohne ein PKCS # 1 Padding –

+0

@ Nickolay O ich bin nicht ganz sicher, welche Art von Methode ich für openssl_decrypt() verwenden sollte. Ich habe 97 Methoden zur Verfügung. – arma

Antwort

1

Es könnte OAEP Padding verwenden. Es ist PKCS # 1-konform (OAEP ist in PKCS # 1 v2.0 + definiert), unterscheidet sich jedoch vom einzigen definierten Padding-Schema PKCS # 1 v1.5.

Wie auch immer, mein Vorschlag wäre versuchen, es mit phpseclib, a pure PHP RSA implementation entschlüsseln. Der Maintainer dieses Pakets unterstützt - im Gegensatz zum Betreuer der PHP-Erweiterung OpenSSL - sein Produkt aktiv.

+0

Danke für den phpseclib Link. Benutzte diese Klassen, um zu versuchen und zu verifizieren, dass sie nicht verifiziert wurden. Völlig fest hier stecken Sie nicht das Problem, warum es scheitert. Wie könnte ich das auch debuggen? – arma

+0

@arma: Wow. Hast du etwas Bargeld mitgenommen, als du dabei warst ?! –

+0

@SedateAlien Haha, das war lange her :) Und ich wusste nicht, worüber ich redete: D – arma

Verwandte Themen