Update openssl.c
diff --git a/lib/openssl.c b/lib/openssl.c
index 53b6dcc..153c3f0 100644
--- a/lib/openssl.c
+++ b/lib/openssl.c
@@ -987,7 +987,7 @@
     return d2i_X509(NULL, &p, (long)vec.len);
 }
 
-static int verify_sign(void *verify_ctx, ptls_iovec_t data, ptls_iovec_t signature, const EVP_MD *md)
+static int verify_sign(void *verify_ctx, ptls_iovec_t data, ptls_iovec_t signature)
 {
     EVP_PKEY *key = verify_ctx;
     EVP_MD_CTX *ctx = NULL;
@@ -1001,14 +1001,15 @@
         ret = PTLS_ERROR_NO_MEMORY;
         goto Exit;
     }
-    if (EVP_DigestVerifyInit(ctx, &pkey_ctx, md, NULL, key) != 1) {
-        ret = PTLS_ERROR_LIBRARY;
-        goto Exit;
-    }
 
 #if defined EVP_PKEY_ED25519
     if (EVP_PKEY_id(key) == EVP_PKEY_ED25519)
     {
+        if (EVP_DigestVerifyInit(ctx, &pkey_ctx, NULL, NULL, key) != 1) {
+            ret = PTLS_ERROR_LIBRARY;
+            goto Exit;
+        }
+        
         if (EVP_DigestVerify(ctx, signature.base, signature.len, data.base, data.len) != 1) {
             ret = PTLS_ERROR_LIBRARY;
             goto Exit;
@@ -1017,6 +1018,11 @@
     else
 #endif
     {
+        if (EVP_DigestVerifyInit(ctx, &pkey_ctx, EVP_sha256(), NULL, key) != 1) {
+            ret = PTLS_ERROR_LIBRARY;
+            goto Exit;
+        }
+        
         if (EVP_PKEY_id(key) == EVP_PKEY_RSA) {
             if (EVP_PKEY_CTX_set_rsa_padding(pkey_ctx, RSA_PKCS1_PSS_PADDING) != 1) {
                 ret = PTLS_ERROR_LIBRARY;