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?
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 –
@ 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