]> git.saurik.com Git - apple/security.git/blob - OSX/sec/Security/Regressions/secitem/si-82-token-ag.c
Security-59754.41.1.tar.gz
[apple/security.git] / OSX / sec / Security / Regressions / secitem / si-82-token-ag.c
1 //
2 // si-82-token-ag.c
3 // Copyright (c) 2013-2014 Apple Inc. All Rights Reserved.
4 //
5 //
6
7 #include <CoreFoundation/CoreFoundation.h>
8 #include <Security/SecItem.h>
9 #include <Security/SecItemPriv.h>
10 #include <Security/SecBase.h>
11 #include <utilities/array_size.h>
12 #include <utilities/SecCFWrappers.h>
13 #include <os/feature_private.h>
14
15 #include "Security_regressions.h"
16
17 static void tests(void) {
18 CFMutableDictionaryRef dict = CFDictionaryCreateMutable(NULL, 0, NULL, NULL);
19 CFDictionaryAddValue(dict, kSecClass, kSecClassGenericPassword);
20 CFDictionaryAddValue(dict, kSecAttrService, CFSTR("test"));
21 CFDictionaryAddValue(dict, kSecAttrAccessGroup, kSecAttrAccessGroupToken);
22
23 is_status(SecItemAdd(dict, NULL), errSecMissingEntitlement);
24 if (os_feature_enabled(CryptoTokenKit, UseTokens)) {
25 is_status(SecItemCopyMatching(dict, NULL), errSecItemNotFound);
26 } else {
27 is_status(SecItemCopyMatching(dict, NULL), errSecMissingEntitlement);
28 }
29
30 CFRelease(dict);
31 }
32
33 int si_82_token_ag(int argc, char *const *argv) {
34
35 plan_tests(2);
36 tests();
37 return 0;
38 }