openssl_verify Überprüft eine Signatur &reftitle.description; intfalseopenssl_verify stringdata stringsignature OpenSSLAsymmetricKeyOpenSSLCertificatearraystringpublic_key stringintalgorithmOPENSSL_ALGO_SHA1 Die Funktion openssl_verify überprüft die Korrektheit der Signatur signature für die angegebenen Daten data mit Hilfe des öffentlichen Schlüssels public_key. Dieser muss der zum privaten Schlüssel passende öffentliche sein, der für die Signatur verwendet wurde. &reftitle.parameters; data Die Zeichenkette der Daten, mit denen die Signatur zuvor erzeugt wurde. signature Eine rohe binäre Zeichenkette, erzeugt durch openssl_sign oder ähnliche Mittel. public_key OpenSSLAsymmetricKey - ein von openssl_get_publickey zurückgegebener Schlüssel. string - ein PEM-formatierter Schlüssel (&zb; -----BEGIN PUBLIC KEY----- MIIBCgK...). algorithm int - einer dieser Signatur-Algorithmen. string - eine von openssl_get_md_methods zurückgegebene gültige Zeichenkette, beispielsweise "sha1WithRSAEncryption" oder "sha512". &reftitle.returnvalues; Gibt bei einer korrekten Signatur 1 zurück, 0 bei einer unkorrekten und -1 oder &false;, falls ein Fehler aufgetreten ist. &reftitle.changelog; &Version; &Description; 8.0.0 public_key akzeptiert nun eine OpenSSLAsymmetricKey- oder OpenSSLCertificate-Instanz; vorher wurde eine &resource; vom Typ OpenSSL-Schlüssel oder OpenSSL X.509 akzeptiert. &reftitle.examples; <function>openssl_verify</function>-Beispiel ]]> <function>openssl_verify</function>-Beispiel 2048, "private_key_type" => OPENSSL_KEYTYPE_RSA, )); $details = openssl_pkey_get_details($private_key_res); $public_key_res = openssl_pkey_get_public($details['key']); // erzeuge Signatur openssl_sign($data, $signature, $private_key_res, "sha256WithRSAEncryption"); // überprüfe Signatur $ok = openssl_verify($data, $signature, $public_key_res, OPENSSL_ALGO_SHA256); if ($ok == 1) { echo "gültig"; } elseif ($ok == 0) { echo "ungültig"; } else { echo "Fehler: ".openssl_error_string(); } ?> ]]> &reftitle.seealso; openssl_sign