Commit:    84202c367e4a7c6db8228af223c3ed9a112335a3
Author:    Mark Jones <mjones@i5.(none)>         Fri, 14 Sep 2012 08:59:14 -0600
Committer: Stanislav Malyshev <s...@php.net>      Sat, 15 Sep 2012 22:59:34 
-0700
Parents:   ee620e96736024218f50a6ff5267127509fd68d8
Branches:  PHP-5.4 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=84202c367e4a7c6db8228af223c3ed9a112335a3

Log:
commit for php bug 61421
enabling SHA2 and RMD160 for openssl signature verification

Bugs:
https://bugs.php.net/61421

Changed paths:
  M  ext/openssl/openssl.c


Diff:
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 7187a96..2b8cfd5 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -69,7 +69,13 @@
 #define OPENSSL_ALGO_MD2       4
 #endif
 #define OPENSSL_ALGO_DSS1      5
-
+#if OPENSSL_VERSION_NUMBER >= 0x0090708fL
+#define OPENSSL_ALGO_SHA224 6
+#define OPENSSL_ALGO_SHA256 7
+#define OPENSSL_ALGO_SHA384 8
+#define OPENSSL_ALGO_SHA512 9
+#define OPENSSL_ALGO_RMD160 10
+#endif
 #define DEBUG_SMIME    0
 
 /* FIXME: Use the openssl constants instead of
@@ -954,6 +960,23 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(long 
algo) { /* {{{ */
                case OPENSSL_ALGO_DSS1:
                        mdtype = (EVP_MD *) EVP_dss1();
                        break;
+#if OPENSSL_VERSION_NUMBER >= 0x0090708fL
+               case OPENSSL_ALGO_SHA224:
+                       mdtype = (EVP_MD *) EVP_sha224();
+                       break;
+               case OPENSSL_ALGO_SHA256:
+                       mdtype = (EVP_MD *) EVP_sha256();
+                       break;
+               case OPENSSL_ALGO_SHA384:
+                       mdtype = (EVP_MD *) EVP_sha384();
+                       break;
+               case OPENSSL_ALGO_SHA512:
+                       mdtype = (EVP_MD *) EVP_sha512();
+                       break;
+               case OPENSSL_ALGO_RMD160:
+                       mdtype = (EVP_MD *) EVP_ripemd160();
+                       break;
+#endif
                default:
                        return NULL;
                        break;
@@ -1048,6 +1071,13 @@ PHP_MINIT_FUNCTION(openssl)
        REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, 
CONST_CS|CONST_PERSISTENT);
 #endif
        REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, 
CONST_CS|CONST_PERSISTENT);
+#if OPENSSL_VERSION_NUMBER >= 0x0090708fL
+       REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, 
CONST_CS|CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, 
CONST_CS|CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA384", OPENSSL_ALGO_SHA384, 
CONST_CS|CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA512", OPENSSL_ALGO_SHA512, 
CONST_CS|CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("OPENSSL_ALGO_RMD160", OPENSSL_ALGO_RMD160, 
CONST_CS|CONST_PERSISTENT);
+#endif
 
        /* flags for S/MIME */
        REGISTER_LONG_CONSTANT("PKCS7_DETACHED", PKCS7_DETACHED, 
CONST_CS|CONST_PERSISTENT);


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to