]> git.saurik.com Git - apple/security.git/blobdiff - Keychain/SecKey.cpp
Security-222.tar.gz
[apple/security.git] / Keychain / SecKey.cpp
diff --git a/Keychain/SecKey.cpp b/Keychain/SecKey.cpp
deleted file mode 100644 (file)
index 1bba809..0000000
+++ /dev/null
@@ -1,224 +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/SecKey.h>
-#include <Security/KeyItem.h>
-
-#include "SecBridge.h"
-
-#include <Security/Access.h>
-#include <Security/Keychains.h>
-#include <Security/KeyItem.h>
-
-CFTypeID
-SecKeyGetTypeID(void)
-{
-       BEGIN_SECAPI
-
-       return gTypes().KeyItem.typeID;
-
-       END_SECAPI1(_kCFRuntimeNotATypeID)
-}
-
-OSStatus
-SecKeyCreatePair(
-       SecKeychainRef keychainRef,
-       CSSM_ALGORITHMS algorithm,
-       uint32 keySizeInBits,
-       CSSM_CC_HANDLE contextHandle,
-       CSSM_KEYUSE publicKeyUsage,
-       uint32 publicKeyAttr,
-       CSSM_KEYUSE privateKeyUsage,
-       uint32 privateKeyAttr,
-       SecAccessRef initialAccess,
-       SecKeyRef* publicKeyRef, 
-       SecKeyRef* privateKeyRef)
-{
-       BEGIN_SECAPI
-
-       Keychain keychain = Keychain::optional(keychainRef);
-       SecPointer<Access> theAccess(initialAccess ? Access::required(initialAccess) : new Access("<key>"));
-       SecPointer<KeyItem> pubItem, privItem;
-
-       KeyItem::createPair(keychain,
-        algorithm,
-        keySizeInBits,
-        contextHandle,
-        publicKeyUsage,
-        publicKeyAttr,
-        privateKeyUsage,
-        privateKeyAttr,
-        theAccess,
-        pubItem,
-        privItem);
-
-       // Return the generated keys.
-       if (publicKeyRef)
-               *publicKeyRef = pubItem->handle();
-       if (privateKeyRef)
-               *privateKeyRef = privItem->handle();
-
-       END_SECAPI
-}
-
-OSStatus
-SecKeyGetCSSMKey(SecKeyRef key, const CSSM_KEY **cssmKey)
-{
-       BEGIN_SECAPI
-
-       Required(cssmKey) = KeyItem::required(key)->key();
-
-       END_SECAPI
-}
-
-
-//
-// Private APIs
-//
-
-OSStatus
-SecKeyGetCSPHandle(SecKeyRef keyRef, CSSM_CSP_HANDLE *cspHandle)
-{
-    BEGIN_SECAPI
-
-       SecPointer<KeyItem> keyItem(KeyItem::required(keyRef));
-       Required(cspHandle) = keyItem->csp()->handle();
-
-       END_SECAPI
-}
-
-OSStatus
-SecKeyGetAlgorithmID(SecKeyRef keyRef, const CSSM_X509_ALGORITHM_IDENTIFIER **algid)
-{
-    BEGIN_SECAPI
-
-       SecPointer<KeyItem> keyItem(KeyItem::required(keyRef));
-       Required(algid) = &keyItem->algorithmIdentifier();
-
-       END_SECAPI
-}
-
-OSStatus
-SecKeyGetStrengthInBits(SecKeyRef keyRef, const CSSM_X509_ALGORITHM_IDENTIFIER *algid, unsigned int *strength)
-{
-    BEGIN_SECAPI
-
-       SecPointer<KeyItem> keyItem(KeyItem::required(keyRef));
-       Required(strength) = keyItem->strengthInBits(algid);
-
-       END_SECAPI
-}
-
-OSStatus
-SecKeyGetCredentials(
-       SecKeyRef keyRef,
-       CSSM_ACL_AUTHORIZATION_TAG operation,
-       SecCredentialType credentialType,
-       const CSSM_ACCESS_CREDENTIALS **outCredentials)
-{
-       BEGIN_SECAPI
-
-       SecPointer<KeyItem> keyItem(KeyItem::required(keyRef));
-       Required(outCredentials) = keyItem->getCredentials(operation, credentialType);
-
-       END_SECAPI
-}
-
-OSStatus
-SecKeyImportPair(
-       SecKeychainRef keychainRef,
-       const CSSM_KEY *publicCssmKey,
-       const CSSM_KEY *privateCssmKey,
-       SecAccessRef initialAccess,
-       SecKeyRef* publicKey,
-       SecKeyRef* privateKey)
-{
-       BEGIN_SECAPI
-
-       Keychain keychain = Keychain::optional(keychainRef);
-       SecPointer<Access> theAccess(initialAccess ? Access::required(initialAccess) : new Access("<key>"));
-       SecPointer<KeyItem> pubItem, privItem;
-
-       KeyItem::importPair(keychain,
-               Required(publicCssmKey),
-               Required(privateCssmKey),
-        theAccess,
-        pubItem,
-        privItem);
-
-       // Return the generated keys.
-       if (publicKey)
-               *publicKey = pubItem->handle();
-       if (privateKey)
-               *privateKey = privItem->handle();
-
-       END_SECAPI
-}
-
-OSStatus
-SecKeyGenerate(
-       SecKeychainRef keychainRef,
-       CSSM_ALGORITHMS algorithm,
-       uint32 keySizeInBits,
-       CSSM_CC_HANDLE contextHandle,
-       CSSM_KEYUSE keyUsage,
-       uint32 keyAttr,
-       SecAccessRef initialAccess,
-       SecKeyRef* keyRef)
-{
-       BEGIN_SECAPI
-
-       Keychain keychain;
-       SecPointer<Access> theAccess;
-
-       if (keychainRef)
-               keychain = KeychainImpl::required(keychainRef);
-       if (initialAccess)
-               theAccess = Access::required(initialAccess);
-
-       KeyItem *item = KeyItem::generate(keychain,
-        algorithm,
-        keySizeInBits,
-        contextHandle,
-        keyUsage,
-        keyAttr,
-        theAccess);
-
-       // Return the generated key.
-       if (keyRef)
-               *keyRef = item->handle();
-
-       END_SECAPI
-}
-
-
-OSStatus SecKeyCreate(const CSSM_KEY *cssmKey,
-               SecKeyRef* keyRef)
-{
-       BEGIN_SECAPI
-
-       Required(cssmKey);
-       CssmClient::CSP csp(cssmKey->KeyHeader.CspId);
-       CssmClient::Key key(csp, *cssmKey);
-       KeyItem *item = new KeyItem(key);
-
-       // Return the generated key.
-       if (keyRef)
-               *keyRef = item->handle();
-
-       END_SECAPI
-}