X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/fa7225c82381bac4432a6edf16f53b5370238d85..refs/heads/master:/OSX/libsecurity_keychain/lib/KeyItem.h diff --git a/OSX/libsecurity_keychain/lib/KeyItem.h b/OSX/libsecurity_keychain/lib/KeyItem.h index ede8dd64..326279d9 100644 --- a/OSX/libsecurity_keychain/lib/KeyItem.h +++ b/OSX/libsecurity_keychain/lib/KeyItem.h @@ -46,7 +46,7 @@ public: // SECCFUNCTIONS macro to retarget SecKeyRef to foreign object instead of normal way through SecCFObject. static KeyItem *required(SecKeyRef ptr); static KeyItem *optional(SecKeyRef ptr); - operator CFTypeRef() const throw(); + operator CFTypeRef() const _NOEXCEPT; static SecCFObject *fromSecKeyRef(CFTypeRef ref); void attachSecKeyRef() const; void initializeWithSecKeyRef(SecKeyRef ref); @@ -164,11 +164,14 @@ private: } // end namespace Security -struct OpaqueSecKeyRef { - CFRuntimeBase _base; - const SecKeyDescriptor *key_class; - SecKeyRef cdsaKey; - Security::KeychainCore::KeyItem *key; +class CDSASecKey : public __SecKey { +public: + static Security::KeychainCore::KeyItem *keyItem(SecKeyRef key) { + CDSASecKey *cdsaKey = static_cast(key); + return static_cast(cdsaKey->key); + } + SecCredentialType credentialType; + Mutex *cdsaKeyMutex; }; #endif // !_SECURITY_KEYITEM_H_