]> git.saurik.com Git - apple/security.git/blob - sec/securityd/spi.c
Security-55471.14.8.tar.gz
[apple/security.git] / sec / securityd / spi.c
1 /*
2 * spi.c
3 * Security
4 *
5 * Created by Michael Brouwer on 1/28/09.
6 * Copyright (c) 2009-2010 Apple Inc.. All Rights Reserved.
7 *
8 */
9
10 #include <securityd/spi.h>
11 #include <securityd_client.h>
12 #include <securityd/SecPolicyServer.h>
13 #include <securityd/SecItemServer.h>
14 #include <securityd/SecTrustStoreServer.h>
15 #include <SecureObjectSync/SOSPeerInfo.h>
16 #include <CoreFoundation/CFString.h>
17 #include <CoreFoundation/CFError.h>
18 #include <securityd/SOSCloudCircleServer.h>
19
20 #include "securityd_client.h"
21 #include <CoreFoundation/CFXPCBridge.h>
22 #include "utilities/iOSforOSX.h"
23 #include "utilities/SecFileLocations.h"
24 #include "OTATrustUtilities.h"
25
26 static struct securityd spi = {
27 .sec_item_add = _SecItemAdd,
28 .sec_item_copy_matching = _SecItemCopyMatching,
29 .sec_item_update = _SecItemUpdate,
30 .sec_item_delete = _SecItemDelete,
31 .sec_trust_store_for_domain = SecTrustStoreForDomainName,
32 .sec_trust_store_contains = SecTrustStoreContainsCertificateWithDigest,
33 .sec_trust_store_set_trust_settings = _SecTrustStoreSetTrustSettings,
34 .sec_trust_store_remove_certificate = SecTrustStoreRemoveCertificateWithDigest,
35 .sec_truststore_remove_all = _SecTrustStoreRemoveAll,
36 .sec_item_delete_all = _SecItemDeleteAll,
37 .sec_trust_evaluate = SecTrustServerEvaluate,
38 .sec_keychain_backup = _SecServerKeychainBackup,
39 .sec_keychain_restore = _SecServerKeychainRestore,
40 .sec_keychain_sync_update = _SecServerKeychainSyncUpdate,
41 .sec_keychain_backup_syncable = _SecServerBackupSyncable,
42 .sec_keychain_restore_syncable = _SecServerRestoreSyncable,
43 .sec_ota_pki_asset_version = SecOTAPKIGetCurrentAssetVersion,
44 .soscc_TryUserCredentials = SOSCCTryUserCredentials_Server,
45 .soscc_SetUserCredentials = SOSCCSetUserCredentials_Server,
46 .soscc_CanAuthenticate = SOSCCCanAuthenticate_Server,
47 .soscc_PurgeUserCredentials = SOSCCPurgeUserCredentials_Server,
48 .soscc_ThisDeviceIsInCircle = SOSCCThisDeviceIsInCircle_Server,
49 .soscc_RequestToJoinCircle = SOSCCRequestToJoinCircle_Server,
50 .soscc_RequestToJoinCircleAfterRestore = SOSCCRequestToJoinCircleAfterRestore_Server,
51 .soscc_ResetToOffering = SOSCCResetToOffering_Server,
52 .soscc_ResetToEmpty = SOSCCResetToEmpty_Server,
53 .soscc_RemoveThisDeviceFromCircle = SOSCCRemoveThisDeviceFromCircle_Server,
54 .soscc_BailFromCircle = SOSCCBailFromCircle_Server,
55 .soscc_AcceptApplicants = SOSCCAcceptApplicants_Server,
56 .soscc_RejectApplicants = SOSCCRejectApplicants_Server,
57 .soscc_CopyApplicantPeerInfo = SOSCCCopyApplicantPeerInfo_Server,
58 .soscc_CopyPeerInfo = SOSCCCopyPeerPeerInfo_Server,
59 .soscc_CopyConcurringPeerInfo = SOSCCCopyConcurringPeerPeerInfo_Server,
60 .ota_CopyEscrowCertificates = SecOTAPKICopyCurrentEscrowCertificates,
61 .sec_ota_pki_get_new_asset = SecOTAPKISignalNewAsset,
62 .soscc_ProcessSyncWithAllPeers = SOSCCProcessSyncWithAllPeers_Server
63 };
64
65 void securityd_init_server(void) {
66 gSecurityd = &spi;
67 SecPolicyServerInitalize();
68 }
69
70 void securityd_init(char* home_path) {
71 if (home_path)
72 SetCustomHomeURL(home_path);
73
74 securityd_init_server();
75 }