5 * Created by Michael Brouwer on 1/28/09.
6 * Copyright (c) 2009-2010 Apple Inc.. All Rights Reserved.
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>
20 #include "securityd_client.h"
21 #include <CoreFoundation/CFXPCBridge.h>
22 #include "utilities/iOSforOSX.h"
23 #include "utilities/SecFileLocations.h"
24 #include "OTATrustUtilities.h"
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
65 void securityd_init_server(void) {
67 SecPolicyServerInitalize();
70 void securityd_init(char* home_path
) {
72 SetCustomHomeURL(home_path
);
74 securityd_init_server();