Skip to content

Security macOS xcode14.0 beta2

Alex Soto edited this page Jun 24, 2022 · 2 revisions

#Security.framework

diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecBase.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecBase.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecBase.h	2022-05-31 14:52:25.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecBase.h	2022-06-17 14:30:16.000000000 -0400
@@ -36,7 +36,7 @@
 // =================================================================================================================
 // SEC_OS_IPHONE            0               1               1                   1                   1
 // SEC_OS_OSX               1               0               0                   0                   0
-// SEC_OS_OSX_INCLUDES      1               1               0                   0                   0
+// SEC_OS_OSX_INCLUDES      1               1               0                   0                   1
 
 #if TARGET_OS_OSX
   #ifdef SEC_IOS_ON_OSX
@@ -51,7 +51,7 @@
   #define SEC_OS_IPHONE 1
 
   #define SEC_OS_OSX 0
-  #define SEC_OS_OSX_INCLUDES 0
+  #define SEC_OS_OSX_INCLUDES 1
 #endif // TARGET_OS_MACCATALYST
 
 #ifndef SEC_OS_IPHONE
@@ -59,7 +59,7 @@
     #define SEC_OS_IPHONE TARGET_OS_IPHONE
 
     #define SEC_OS_OSX TARGET_OS_OSX
-    #define SEC_OS_OSX_INCLUDES TARGET_OS_OSX
+    #define SEC_OS_OSX_INCLUDES TARGET_OS_OSX || TARGET_OS_MACCATALYST
 #endif
 
 #if defined(__clang__)
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h	2022-05-31 15:03:48.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h	2022-06-17 11:26:17.000000000 -0400
@@ -285,7 +285,8 @@
 	@result A result code.  See "Security Error Codes" (SecBase.h). In addition, errSecParam (-50) may be returned if the keychain parameter is invalid (NULL).
 */
 OSStatus SecKeychainOpen(const char *pathName, SecKeychainRef * __nonnull CF_RETURNS_RETAINED keychain)
-    API_DEPRECATED("Custom keychain management is no longer supported", macos(10.2, 12.0));
+    API_DEPRECATED("Custom keychain management is no longer supported", macos(10.2, 12.0))
+    API_UNAVAILABLE(macCatalyst);
 
 /*!
 	@function SecKeychainCreate
@@ -415,8 +416,8 @@
 	kSecPreferencesDomainDynamic		/* dynamic searchlist (typically removable keychains like smartcards) */
 };
 
-OSStatus SecKeychainCopyDomainDefault(SecPreferencesDomain domain, SecKeychainRef * __nonnull CF_RETURNS_RETAINED keychain);
-OSStatus SecKeychainSetDomainDefault(SecPreferencesDomain domain, SecKeychainRef __nullable keychain);
+OSStatus SecKeychainCopyDomainDefault(SecPreferencesDomain domain, SecKeychainRef * __nonnull CF_RETURNS_RETAINED keychain) API_UNAVAILABLE(macCatalyst);
+OSStatus SecKeychainSetDomainDefault(SecPreferencesDomain domain, SecKeychainRef __nullable keychain) API_UNAVAILABLE(macCatalyst);
 OSStatus SecKeychainCopyDomainSearchList(SecPreferencesDomain domain, CFArrayRef * __nonnull CF_RETURNS_RETAINED searchList);
 OSStatus SecKeychainSetDomainSearchList(SecPreferencesDomain domain, CFArrayRef searchList);
 OSStatus SecKeychainSetPreferenceDomain(SecPreferencesDomain domain);
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/certextensions.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/certextensions.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/certextensions.h	2022-05-28 02:37:42.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/certextensions.h	2022-06-17 01:22:31.000000000 -0400
@@ -38,7 +38,11 @@
 #else /* SEC_OS_IPHONE */
 
 #include <stdbool.h>
+
+#define SEC_HAS_LIBDER __has_include(<libDER/libDER.h>)
+#if SEC_HAS_LIBDER
 #include <libDER/libDER.h>
+#endif /* SEC_HAS_LIBDER */
 
 #endif /* SEC_OS_IPHONE */
 
@@ -124,7 +128,7 @@
 	CE_GeneralName			*generalName;
 } CE_GeneralNames DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
 
-#elif SEC_OS_IPHONE
+#elif SEC_HAS_LIBDER
 
 typedef struct {
 	DERItem                 typeId;
@@ -142,7 +146,7 @@
 	SecCEGeneralName			*generalName;
 } SecCEGeneralNames;
 
-#endif /* SEC_OS_IPHONE */
+#endif /* SEC_HAS_LIBDER */
 
 /*
  * id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 35 }
@@ -165,7 +169,7 @@
 	CSSM_BOOL			serialNumberPresent;
 	CSSM_DATA			serialNumber;
 } CE_AuthorityKeyID DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-#elif SEC_OS_IPHONE
+#elif SEC_HAS_LIBDER
 typedef struct {
 	bool                keyIdentifierPresent;
 	DERItem             keyIdentifier;
@@ -174,7 +178,7 @@
 	bool                serialNumberPresent;
 	DERItem             serialNumber;
 } SecCEAuthorityKeyID;
-#endif /* SEC_OS_IPHONE */
+#endif /* SEC_HAS_LIBDER */
 
 /*
  * id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 14 }
@@ -184,9 +188,9 @@
  */
 #if SEC_OS_OSX
 typedef CSSM_DATA CE_SubjectKeyID DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-#elif SEC_OS_IPHONE
+#elif SEC_HAS_LIBDER
 typedef DERItem SecCESubjectKeyID;
-#endif /* SEC_OS_IPHONE */
+#endif /* SEC_HAS_LIBDER */
 
 /*
  * id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
@@ -302,13 +306,13 @@
 	CSSM_OID_PTR	purposes;		// in Intel pre-encoded format
 } CE_ExtendedKeyUsage;
 
-#elif SEC_OS_IPHONE
+#elif SEC_HAS_LIBDER
 
 typedef struct {
 	uint32_t		numPurposes;
 	DERItem         *purposes;		// in Intel pre-encoded format
 } SecCEExtendedKeyUsage;
-#endif /* SEC_OS_IPHONE */
+#endif /* SEC_HAS_LIBDER */
 
 /*
  * id-ce-basicConstraints OBJECT IDENTIFIER ::=  { id-ce 19 }
@@ -402,7 +406,7 @@
 	CSSM_OID	policyQualifierId;			// CSSMOID_QT_CPS, CSSMOID_QT_UNOTICE
 	CSSM_DATA	qualifier;					// CSSMOID_QT_CPS: IA5String contents
 
-#elif SEC_OS_IPHONE
+#elif SEC_HAS_LIBDER
 #if 0
 typedef struct {
 	DERItem     policyQualifierId;			// CSSMOID_QT_CPS, CSSMOID_QT_UNOTICE
@@ -448,7 +452,7 @@
     bool             critical;
     uint32_t         skipCerts;
 } SecCEInhibitAnyPolicy;
-#endif /* SEC_OS_IPHONE */
+#endif /* SEC_HAS_LIBDER */
 											// CSSMOID_QT_UNOTICE : Sequence contents
 #if SEC_OS_OSX
 } CE_PolicyQualifierInfo DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
Clone this wiki locally