]> granicus.if.org Git - curl/commitdiff
ASN1 files don't work for the *chain_file(), make them use the previous
authorDaniel Stenberg <daniel@haxx.se>
Tue, 21 May 2002 08:15:42 +0000 (08:15 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 21 May 2002 08:15:42 +0000 (08:15 +0000)
version

lib/ssluse.c

index e1a6b3b5db1b5c8ffe3bb506831d7981cf49be07..7a4d685a5c3a4c6427ddebd7aecbf1ae09104fc1 100644 (file)
@@ -227,13 +227,25 @@ int cert_stuff(struct connectdata *conn,
 
     switch(file_type) {
     case SSL_FILETYPE_PEM:
-    case SSL_FILETYPE_ASN1:
+      /* SSL_CTX_use_certificate_chain_file() only works on PEM files */
       if (SSL_CTX_use_certificate_chain_file(conn->ssl.ctx,
                                              cert_file) != 1) {
         failf(data, "unable to set certificate file (wrong password?)");
         return 0;
       }
       break;
+
+    case SSL_FILETYPE_ASN1:
+      /* SSL_CTX_use_certificate_file() works with either PEM or ASN1, but
+         we use the case above for PEM so this can only be performed with
+         ASN1 files. */
+      if (SSL_CTX_use_certificate_file(conn->ssl.ctx,
+                                       cert_file,
+                                       file_type) != 1) {
+        failf(data, "unable to set certificate file (wrong password?)");
+        return 0;
+      }
+      break;
     case SSL_FILETYPE_ENGINE:
       failf(data, "file type ENG for certificate not implemented");
       return 0;