22 #ifndef NDN_OSX_PRIVATEKEY_STORAGE_H
23 #define NDN_OSX_PRIVATEKEY_STORAGE_H
26 #include "../../ndn-cpp-config.h"
27 #if NDN_CPP_HAVE_OSX_SECURITY
29 #include "../../common.hpp"
30 #include "../tpm/helper-osx.hpp"
31 #include "private-key-storage.hpp"
36 class OSXPrivateKeyStorage :
public PrivateKeyStorage {
41 OSXPrivateKeyStorage() {}
47 ~OSXPrivateKeyStorage();
55 generateKeyPair(
const Name& keyName,
const KeyParams& params);
62 deleteKeyPair(
const Name& keyName);
69 virtual ptr_lib::shared_ptr<PublicKey>
70 getPublicKey(
const Name& keyName);
81 sign(
const uint8_t *data,
size_t dataLength,
const Name& keyName, DigestAlgorithm digestAlgorithm = DIGEST_ALGORITHM_SHA256);
92 decrypt(
const Name& keyName,
const uint8_t* data,
size_t dataLength,
bool isSymmetric =
false);
103 encrypt(
const Name& keyName,
const uint8_t* data,
size_t dataLength,
bool isSymmetric =
false);
111 generateKey(
const Name& keyName,
const KeyParams& params);
120 doesKeyExist(
const Name& keyName, KeyClass keyClass);
131 setACL(
const Name & keyName, KeyClass keyClass,
int acl,
const std::string & appPath);
141 toInternalKeyName(
const Name & keyName, KeyClass keyClass);
150 CFReleaser<SecKeychainItemRef>
151 getKey(
const Name & keyName, KeyClass keyClass);
159 getSymmetricKeyType(
KeyType keyType);
167 getAsymmetricKeyType(
KeyType keyType);
175 getKeyClass(KeyClass keyClass);
183 getDigestAlgorithm(DigestAlgorithm digestAlgorithm);
191 getDigestSize(DigestAlgorithm digestAlgo);
196 #endif // NDN_CPP_HAVE_OSX_SECURITY
KeyType
Definition: security-common.hpp:50