]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
darwinssl: PKCS#12 import feature now requires Lion or later
authorNick Zitzmann <nickzman@gmail.com>
Wed, 13 Nov 2013 02:18:04 +0000 (20:18 -0600)
committerNick Zitzmann <nickzman@gmail.com>
Wed, 13 Nov 2013 02:18:04 +0000 (20:18 -0600)
It turns out that some of the constants necessary to make this feature
work are missing from Snow Leopard's Security framework even though
they are defined in the headers.

Bug: http://curl.haxx.se/mail/lib-2013-11/0076.html
Reported by: myriachan

docs/libcurl/curl_easy_setopt.3
lib/curl_darwinssl.c

index 0b507d856655e7062a5957270fb838173e633e10..e6f9ea4f0484f1cce3561f56f5d36e2c23dede15 100644 (file)
@@ -2375,7 +2375,7 @@ prefix, in order to avoid confusion with a nickname.
 Pass a pointer to a zero terminated string as parameter. The string should be
 the format of your certificate. Supported formats are "PEM" and "DER", except
 with Secure Transport. OpenSSL (versions 0.9.3 and later) and Secure Transport
-(on iOS 5 or later, or OS X 10.6 or later) also support "P12" for
+(on iOS 5 or later, or OS X 10.7 or later) also support "P12" for
 PKCS#12-encoded files. (Added in 7.9.3)
 .IP CURLOPT_SSLKEY
 Pass a pointer to a zero terminated string as parameter. The string should be
index 45a668bdd3abc19c26ad69917b464e085d60f102..25cf3d14d901961c47d1fa2c6c010cc995c4ebe6 100644 (file)
@@ -938,8 +938,10 @@ static OSStatus CopyIdentityFromPKCS12File(const char *cPath,
     cPassword, kCFStringEncodingUTF8) : NULL;
   CFDataRef pkcs_data = NULL;
 
-  /* We can import P12 files on iOS or OS X 10.6 or later: */
-#if CURL_BUILD_MAC_10_6 || CURL_BUILD_IOS
+  /* We can import P12 files on iOS or OS X 10.7 or later: */
+  /* These constants are documented as having first appeared in 10.6 but they
+     raise linker errors when used on that cat for some reason. */
+#if CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS
   if(CFURLCreateDataAndPropertiesFromResource(NULL, pkcs_url, &pkcs_data,
     NULL, NULL, &status)) {
     const void *cKeys[] = {kSecImportExportPassphrase};
@@ -963,7 +965,7 @@ static OSStatus CopyIdentityFromPKCS12File(const char *cPath,
     CFRelease(options);
     CFRelease(pkcs_data);
   }
-#endif /* CURL_BUILD_MAC_10_6 || CURL_BUILD_IOS */
+#endif /* CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS */
   if(password)
     CFRelease(password);
   CFRelease(pkcs_url);