SRP ciphersuite correction.
authorDr. Stephen Henson <steve@openssl.org>
Mon, 9 Jun 2014 11:03:12 +0000 (12:03 +0100)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 9 Jun 2014 11:09:49 +0000 (12:09 +0100)
SRP ciphersuites do not have no authentication. They have authentication
based on SRP. Add new SRP authentication flag and cipher string.
(cherry picked from commit a86b88acc373ac1fb0ca709a5fb8a8fa74683f67)

ssl/s3_lib.c
ssl/ssl.h
ssl/ssl_ciph.c
ssl/ssl_locl.h

index 36dd1f652491118041280ce7421255d6dff01d26..4835bef1a7c6f1db6d0c8055abf75ed9b260a8d1 100644 (file)
@@ -2426,7 +2426,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
        TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
        TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
        SSL_kSRP,
-       SSL_aNULL,
+       SSL_aSRP,
        SSL_3DES,
        SSL_SHA1,
        SSL_TLSV1,
@@ -2474,7 +2474,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
        TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA,
        TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA,
        SSL_kSRP,
-       SSL_aNULL,
+       SSL_aSRP,
        SSL_AES128,
        SSL_SHA1,
        SSL_TLSV1,
@@ -2522,7 +2522,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
        TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA,
        TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA,
        SSL_kSRP,
-       SSL_aNULL,
+       SSL_aSRP,
        SSL_AES256,
        SSL_SHA1,
        SSL_TLSV1,
index 4c1242c9d20c56b4d18978ae76c278b29b79d4a4..a9b15d46cd6e419e0c1213edfeb32092b7cf14cc 100644 (file)
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -264,6 +264,7 @@ extern "C" {
 #define SSL_TXT_aGOST94        "aGOST94"
 #define SSL_TXT_aGOST01 "aGOST01"
 #define SSL_TXT_aGOST  "aGOST"
+#define SSL_TXT_aSRP            "aSRP"
 
 #define        SSL_TXT_DSS             "DSS"
 #define SSL_TXT_DH             "DH"
index 0aba8e048c589136715a0f2be593c4bb9a1dae52..06da26acc5875097ca8e945f73e035ebf4af7897 100644 (file)
@@ -270,6 +270,7 @@ static const SSL_CIPHER cipher_aliases[]={
        {0,SSL_TXT_aGOST94,0,0,SSL_aGOST94,0,0,0,0,0,0,0},
        {0,SSL_TXT_aGOST01,0,0,SSL_aGOST01,0,0,0,0,0,0,0},
        {0,SSL_TXT_aGOST,0,0,SSL_aGOST94|SSL_aGOST01,0,0,0,0,0,0,0},
+       {0,SSL_TXT_aSRP,0,    0,SSL_aSRP,  0,0,0,0,0,0,0},
 
        /* aliases combining key exchange and server authentication */
        {0,SSL_TXT_EDH,0,     SSL_kEDH,~SSL_aNULL,0,0,0,0,0,0,0},
@@ -1628,6 +1629,9 @@ char *SSL_CIPHER_description(const SSL_CIPHER *cipher, char *buf, int len)
        case SSL_aPSK:
                au="PSK";
                break;
+       case SSL_aSRP:
+               au="SRP";
+               break;
        default:
                au="unknown";
                break;
index e48590774815b4d9a4df6d485a3bf99257a4e406..eb4d8f2fa97bf7d42c454fdf0f4cd16c8e70945f 100644 (file)
 #define SSL_aPSK                0x00000080L /* PSK auth */
 #define SSL_aGOST94                            0x00000100L /* GOST R 34.10-94 signature auth */
 #define SSL_aGOST01                    0x00000200L /* GOST R 34.10-2001 signature auth */
+#define SSL_aSRP               0x00000400L /* SRP auth */
 
 
 /* Bits for algorithm_enc (symmetric encryption) */