X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/b04fe171f0375ecd5d8a24747ca1dff85720a0ca..refs/heads/master:/OSX/libsecurity_keychain/lib/KeyItem.h?ds=inline diff --git a/OSX/libsecurity_keychain/lib/KeyItem.h b/OSX/libsecurity_keychain/lib/KeyItem.h index 54691919..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,12 +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_