using CPF.Mac.ObjCRuntime; using System; namespace CPF.Mac.Security { internal static class ClassKeys { private static IntPtr _Public; private static IntPtr _Private; private static IntPtr _Symmetric; public static IntPtr Public { get { if (_Public == IntPtr.Zero) { _Public = Dlfcn.GetIntPtr(SecItem.securityLibrary, "kSecAttrKeyClassPublic"); } return _Public; } } public static IntPtr Private { get { if (_Private == IntPtr.Zero) { _Private = Dlfcn.GetIntPtr(SecItem.securityLibrary, "kSecAttrKeyClassPrivate"); } return _Private; } } public static IntPtr Symmetric { get { if (_Symmetric == IntPtr.Zero) { _Symmetric = Dlfcn.GetIntPtr(SecItem.securityLibrary, "kSecAttrKeyClassSymmetric"); } return _Symmetric; } } } }