diff --git a/src/Security/Authorization.cs b/src/Security/Authorization.cs index e39c261387bc..3bf7bd6791ec 100644 --- a/src/Security/Authorization.cs +++ b/src/Security/Authorization.cs @@ -80,6 +80,13 @@ public enum AuthorizationFlags : int { PartialRights = 1 << 2, DestroyRights = 1 << 3, PreAuthorize = 1 << 4, +#if NET + [SupportedOSPlatform ("maccatalyst17.0")] + [SupportedOSPlatform ("macos14.0")] +#else + [Mac(14, 0), MacCatalyst(17, 0)] +#endif + SkipInternalAuth = 1 << 9, NoData = 1 << 20, } diff --git a/src/Security/Items.cs b/src/Security/Items.cs index e088b167f788..e98d9a6b8865 100644 --- a/src/Security/Items.cs +++ b/src/Security/Items.cs @@ -300,6 +300,11 @@ public static SecStatusCode Update (SecRecord query, SecRecord newAttributes) } #if MONOMAC +#if NET + [ObsoletedOSPlatform ("macos10.10")] +#else + [Deprecated (PlatformName.MacOSX, 10,10)] +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeychainAddGenericPassword ( IntPtr keychain, @@ -311,6 +316,11 @@ extern static SecStatusCode SecKeychainAddGenericPassword ( byte[] passwordData, IntPtr itemRef); +#if NET + [ObsoletedOSPlatform ("macos10.10")] +#else + [Deprecated (PlatformName.MacOSX, 10,10)] +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeychainFindGenericPassword ( IntPtr keychainOrArray, @@ -322,6 +332,11 @@ extern static SecStatusCode SecKeychainFindGenericPassword ( out IntPtr passwordData, IntPtr itemRef); +#if NET + [ObsoletedOSPlatform ("macos10.10")] +#else + [Deprecated (PlatformName.MacOSX, 10,10)] +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeychainAddInternetPassword ( IntPtr keychain, @@ -340,6 +355,11 @@ extern static SecStatusCode SecKeychainAddInternetPassword ( byte[] passwordData, IntPtr itemRef); +#if NET + [ObsoletedOSPlatform ("macos10.10")] +#else + [Deprecated (PlatformName.MacOSX, 10,10)] +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeychainFindInternetPassword ( IntPtr keychain, @@ -358,6 +378,11 @@ extern static SecStatusCode SecKeychainFindInternetPassword ( out IntPtr passwordData, IntPtr itemRef); +#if NET + [ObsoletedOSPlatform ("macos10.10")] +#else + [Deprecated (PlatformName.MacOSX, 10,10)] +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeychainItemFreeContent (IntPtr attrList, IntPtr data); diff --git a/src/security.cs b/src/security.cs index 6ffaf0813ebc..2b27e089e0af 100644 --- a/src/security.cs +++ b/src/security.cs @@ -755,6 +755,10 @@ interface SecItem { [MacCatalyst (13, 1)] [Field ("kSecUseAuthenticationContext")] IntPtr UseAuthenticationContext { get; } + + [TV (17, 0), NoWatch, NoMacCatalyst, NoMac, NoiOS] + [Field ("kSecUseUserIndependentKeychain")] + IntPtr UseUserIndependentKeychain { get; } } [NoiOS] @@ -1035,6 +1039,50 @@ enum SecKeyAlgorithm { [MacCatalyst (13, 1)] [Field ("kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM")] EciesEncryptionCofactorVariableIvx963Sha512AesGcm, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureDigestRFC4754")] + EcdsaSignatureDigestRfc4754, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA1")] + EcdsaSignatureDigestRfc4754Sha1, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA224")] + EcdsaSignatureDigestRfc4754Sha224, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA256")] + EcdsaSignatureDigestRfc4754Sha256, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA384")] + EcdsaSignatureDigestRfc4754Sha384, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA512")] + EcdsaSignatureDigestRfc4754Sha512, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA1")] + EcdsaSignatureMessageRfc4754Sha1, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA224")] + EcdsaSignatureMessageRfc4754Sha224, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA256")] + EcdsaSignatureMessageRfc4754Sha256, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA384")] + EcdsaSignatureMessageRfc4754Sha384, + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Field ("kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA512")] + EcdsaSignatureMessageRfc4754Sha512, } [MacCatalyst (13, 1)] diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Security.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-Security.todo deleted file mode 100644 index 7e7e3db89a0d..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Security.todo +++ /dev/null @@ -1,11 +0,0 @@ -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA512 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA512 not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Security.ignore b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Security.ignore index 5de3dbe1e199..4b18d3e5fc22 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Security.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Security.ignore @@ -490,3 +490,10 @@ ## xcode 12.2 / we do not have bindings for XPC !missing-pinvoke! SecCodeCreateWithXPCMessage is not bound + +## xcode15 +!missing-field! kSecCodeInfoDefaultDesignatedLightweightCodeRequirement not bound +!missing-pinvoke! SecCodeValidateFileResource is not bound +!missing-field! kSecCFErrorResourceRecursive not bound +!missing-field! kSecCodeInfoStapledNotarizationTicket not bound + diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Security.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Security.todo deleted file mode 100644 index e7baab7c8a01..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Security.todo +++ /dev/null @@ -1,21 +0,0 @@ -!deprecated-attribute-missing! SecKeychainAddGenericPassword missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeychainAddInternetPassword missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeychainFindGenericPassword missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeychainFindInternetPassword missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeychainItemFreeContent missing a [Deprecated] attribute -!missing-field! kSecCodeInfoDefaultDesignatedLightweightCodeRequirement not bound -!missing-pinvoke! SecCodeValidateFileResource is not bound -!missing-field! kSecCFErrorResourceRecursive not bound -!missing-field! kSecCodeInfoStapledNotarizationTicket not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA512 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA512 not bound -!missing-enum-value! AuthorizationFlags native value kAuthorizationFlagSkipInternalAuth = 512 not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Security.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Security.todo deleted file mode 100644 index b2a9d6c2478e..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Security.todo +++ /dev/null @@ -1,12 +0,0 @@ -!missing-field! kSecUseUserIndependentKeychain not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA512 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA512 not bound diff --git a/tests/xtro-sharpie/iOS-Security.todo b/tests/xtro-sharpie/iOS-Security.todo deleted file mode 100644 index 7e7e3db89a0d..000000000000 --- a/tests/xtro-sharpie/iOS-Security.todo +++ /dev/null @@ -1,11 +0,0 @@ -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA512 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA512 not bound diff --git a/tests/xtro-sharpie/macOS-Security.ignore b/tests/xtro-sharpie/macOS-Security.ignore index ccbeb1ffac84..822021ce11c2 100644 --- a/tests/xtro-sharpie/macOS-Security.ignore +++ b/tests/xtro-sharpie/macOS-Security.ignore @@ -492,3 +492,10 @@ !missing-pinvoke! SecCodeCreateWithXPCMessage is not bound !extra-enum-value! Managed value -2147483648 for SecAccessControlCreateFlags.ApplicationPassword not found in native headers !missing-enum-value! SecAccessControlCreateFlags native value kSecAccessControlApplicationPassword = 2147483648 not bound + +## xcode15 +!missing-field! kSecCodeInfoDefaultDesignatedLightweightCodeRequirement not bound +!missing-pinvoke! SecCodeValidateFileResource is not bound +!missing-field! kSecCFErrorResourceRecursive not bound +!missing-field! kSecCodeInfoStapledNotarizationTicket not bound + diff --git a/tests/xtro-sharpie/macOS-Security.todo b/tests/xtro-sharpie/macOS-Security.todo deleted file mode 100644 index e7baab7c8a01..000000000000 --- a/tests/xtro-sharpie/macOS-Security.todo +++ /dev/null @@ -1,21 +0,0 @@ -!deprecated-attribute-missing! SecKeychainAddGenericPassword missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeychainAddInternetPassword missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeychainFindGenericPassword missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeychainFindInternetPassword missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeychainItemFreeContent missing a [Deprecated] attribute -!missing-field! kSecCodeInfoDefaultDesignatedLightweightCodeRequirement not bound -!missing-pinvoke! SecCodeValidateFileResource is not bound -!missing-field! kSecCFErrorResourceRecursive not bound -!missing-field! kSecCodeInfoStapledNotarizationTicket not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA512 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA512 not bound -!missing-enum-value! AuthorizationFlags native value kAuthorizationFlagSkipInternalAuth = 512 not bound diff --git a/tests/xtro-sharpie/tvOS-Security.todo b/tests/xtro-sharpie/tvOS-Security.todo deleted file mode 100644 index b2a9d6c2478e..000000000000 --- a/tests/xtro-sharpie/tvOS-Security.todo +++ /dev/null @@ -1,12 +0,0 @@ -!missing-field! kSecUseUserIndependentKeychain not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA512 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA512 not bound diff --git a/tests/xtro-sharpie/watchOS-Security.todo b/tests/xtro-sharpie/watchOS-Security.todo deleted file mode 100644 index 7e7e3db89a0d..000000000000 --- a/tests/xtro-sharpie/watchOS-Security.todo +++ /dev/null @@ -1,11 +0,0 @@ -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureDigestRFC4754SHA512 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA1 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA224 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA256 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA384 not bound -!missing-field! kSecKeyAlgorithmECDSASignatureMessageRFC4754SHA512 not bound