]> git.kaiwu.me - nginx.git/commitdiff
ChaCha20 / Poly1305 initial support.
authorSergey Kandaurov <pluknet@nginx.com>
Tue, 10 Mar 2020 16:13:09 +0000 (19:13 +0300)
committerSergey Kandaurov <pluknet@nginx.com>
Tue, 10 Mar 2020 16:13:09 +0000 (19:13 +0300)
src/event/ngx_event_quic.c

index f62789da9119202b37161778d0f92f7c3370620e..b7595e8bfd0d9faca04ed5a8c07949d3938f2030 100644 (file)
@@ -12,6 +12,7 @@
 
 #define NGX_AES_128_GCM_SHA256        0x1301
 #define NGX_AES_256_GCM_SHA384        0x1302
+#define NGX_CHACHA20_POLY1305_SHA256  0x1303
 
 #define NGX_QUIC_IV_LEN               12
 
@@ -2122,6 +2123,19 @@ ngx_quic_ciphers(ngx_connection_t *c, ngx_quic_ciphers_t *ciphers,
         len = 32;
         break;
 
+    case NGX_CHACHA20_POLY1305_SHA256:
+#ifdef OPENSSL_IS_BORINGSSL
+        ciphers->c = EVP_aead_chacha20_poly1305();
+#else
+        ciphers->c = EVP_chacha20_poly1305();
+#endif
+#ifndef OPENSSL_IS_BORINGSSL
+        ciphers->hp = EVP_chacha20();
+#endif
+        ciphers->d = EVP_sha256();
+        len = 32;
+        break;
+
     default:
         return NGX_ERROR;
     }