]> git.saurik.com Git - apple/security.git/blobdiff - Keychain/SecTrust.cpp
Security-222.tar.gz
[apple/security.git] / Keychain / SecTrust.cpp
diff --git a/Keychain/SecTrust.cpp b/Keychain/SecTrust.cpp
deleted file mode 100644 (file)
index 61d60f9..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (c) 2002 Apple Computer, Inc. All Rights Reserved.
- * 
- * The contents of this file constitute Original Code as defined in and are
- * subject to the Apple Public Source License Version 1.2 (the 'License').
- * You may not use this file except in compliance with the License. Please obtain
- * a copy of the License at http://www.apple.com/publicsource and read it before
- * using this file.
- * 
- * This Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
- * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
- * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
- * specific language governing rights and limitations under the License.
- */
-
-#include <Security/SecTrust.h>
-#include <Security/SecTrustPriv.h>
-#include <Security/Trust.h>
-#include "SecBridge.h"
-
-//
-// CF boilerplate
-//
-CFTypeID SecTrustGetTypeID(void)
-{
-       BEGIN_SECAPI
-
-       return gTypes().Trust.typeID;
-
-       END_SECAPI1(_kCFRuntimeNotATypeID)
-}
-
-
-//
-// Sec* API bridge functions
-//
-OSStatus SecTrustCreateWithCertificates(
-       CFArrayRef certificates,
-       CFTypeRef policies,
-       SecTrustRef *trustRef)
-{
-    BEGIN_SECAPI
-       Required(trustRef);
-    *trustRef = (new Trust(certificates, policies))->handle();
-    END_SECAPI
-}
-
-
-OSStatus
-SecTrustSetPolicies(SecTrustRef trustRef, CFTypeRef policies)
-{
-       BEGIN_SECAPI
-       Trust::required(trustRef)->policies(policies);
-       END_SECAPI
-}
-
-
-OSStatus SecTrustSetParameters(
-    SecTrustRef trustRef,
-    CSSM_TP_ACTION action,
-    CFDataRef actionData)
-{
-    BEGIN_SECAPI
-    Trust *trust = Trust::required(trustRef);
-    trust->action(action);
-    trust->actionData(actionData);
-    END_SECAPI
-}
-
-
-OSStatus SecTrustSetAnchorCertificates(SecTrustRef trust, CFArrayRef anchorCertificates)
-{
-    BEGIN_SECAPI
-    Trust::required(trust)->anchors(anchorCertificates);
-    END_SECAPI
-}
-
-
-OSStatus SecTrustSetKeychains(SecTrustRef trust, CFTypeRef keychainOrArray)
-{
-    BEGIN_SECAPI
-       StorageManager::KeychainList keychains;
-       globals().storageManager.optionalSearchList(keychainOrArray, keychains);
-    Trust::required(trust)->searchLibs() = keychains;
-    END_SECAPI
-}
-
-
-OSStatus SecTrustSetVerifyDate(SecTrustRef trust, CFDateRef verifyDate)
-{
-    BEGIN_SECAPI
-    Trust::required(trust)->time(verifyDate);
-    END_SECAPI
-}
-
-
-OSStatus SecTrustEvaluate(SecTrustRef trustRef, SecTrustResultType *resultP)
-{
-    BEGIN_SECAPI
-    Trust *trust = Trust::required(trustRef);
-    trust->evaluate();
-    if (resultP)
-        *resultP = trust->result();
-    END_SECAPI
-}
-
-
-//
-// Construct the "official" result evidence and return it
-//
-OSStatus SecTrustGetResult(
-    SecTrustRef trustRef,
-    SecTrustResultType *result,
-       CFArrayRef *certChain, CSSM_TP_APPLE_EVIDENCE_INFO **statusChain)
-{
-    BEGIN_SECAPI
-    Trust *trust = Trust::required(trustRef);
-    if (result)
-        *result = trust->result();
-    if (certChain && statusChain)
-        trust->buildEvidence(*certChain, TPEvidenceInfo::overlayVar(*statusChain));
-    END_SECAPI
-}
-
-
-//
-// Retrieve CSSM-level information for those who want to dig down
-//
-OSStatus SecTrustGetCssmResult(SecTrustRef trust, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR *result)
-{
-    BEGIN_SECAPI
-    Required(result) = Trust::required(trust)->cssmResult();
-    END_SECAPI
-}
-
-//
-// Retrieve CSSM_LEVEL TP return code
-//
-OSStatus SecTrustGetCssmResultCode(SecTrustRef trustRef, OSStatus *result)
-{
-    BEGIN_SECAPI
-       Trust *trust = Trust::required(trustRef);
-       if (trust->result() == kSecTrustResultInvalid)
-               return paramErr; 
-       else
-               Required(result) = trust->cssmResultCode();
-    END_SECAPI
-}
-
-OSStatus SecTrustGetTPHandle(SecTrustRef trust, CSSM_TP_HANDLE *handle)
-{
-    BEGIN_SECAPI
-    Required(handle) = Trust::required(trust)->getTPHandle();
-    END_SECAPI
-}
-
-
-//
-// Get the user's default anchor certificate set
-//
-OSStatus SecTrustCopyAnchorCertificates(CFArrayRef* anchorCertificates)
-{
-    BEGIN_SECAPI
-       Required(anchorCertificates) = Trust::gStore().copyRootCertificates();
-    END_SECAPI
-}
-
-OSStatus SecTrustGetCSSMAnchorCertificates(const CSSM_DATA **cssmAnchors,
-       uint32 *cssmAnchorCount)
-{
-       BEGIN_SECAPI
-       CertGroup certs;
-       Trust::gStore().getCssmRootCertificates(certs);
-       Required(cssmAnchors) = certs.blobCerts();
-       Required(cssmAnchorCount) = certs.count();
-       END_SECAPI
-}
-
-
-//
-// Get and set user trust settings
-//
-OSStatus SecTrustGetUserTrust(SecCertificateRef certificate,
-    SecPolicyRef policy, SecTrustUserSetting *trustSetting)
-{
-       BEGIN_SECAPI
-       Required(trustSetting) = Trust::gStore().find(
-               Certificate::required(certificate),
-               Policy::required(policy));
-       END_SECAPI
-}
-
-OSStatus SecTrustSetUserTrust(SecCertificateRef certificate,
-    SecPolicyRef policy, SecTrustUserSetting trustSetting)
-{
-       BEGIN_SECAPI
-       switch (trustSetting) {
-    case kSecTrustResultProceed:
-    case kSecTrustResultConfirm:
-    case kSecTrustResultDeny:
-    case kSecTrustResultUnspecified:
-               break;
-       default:
-               MacOSError::throwMe(errSecInvalidTrustSetting);
-       }
-       Trust::gStore().assign(
-               Certificate::required(certificate),
-               Policy::required(policy),
-               trustSetting);
-       END_SECAPI
-}
-