2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://www.apache.org/licenses/LICENSE-2.0
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file FSecCert_CertPrivateKeyInfo.h
19 * @brief This header file contains the declarations of Certificate Private Key operations.
21 * This header file contains the declarations of Certificate Private Key operations.
24 #ifndef _FSEC_CERT_INTERNAL_CERT_PRIVATE_KEY_INFO_H_
25 #define _FSEC_CERT_INTERNAL_CERT_PRIVATE_KEY_INFO_H_
27 #include "unique_ptr.h"
28 #include "FSecCert_CertTypes.h"
30 namespace Tizen { namespace Security { namespace Cert
34 class _CertPrivateKeyInfo
37 _CertPrivateKeyInfo(void);
39 _CertPrivateKeyInfo(char* pFileName);
41 _CertPrivateKeyInfo(byte* pBuf, int bufSize);
43 virtual ~_CertPrivateKeyInfo(void);
45 void GetPrivateKeyN(int& keyLen, byte** ppPrivKey);
47 result GetEncDecPrivateKeyN(int& keyLen, byte** ppPrivKey, int encDecBit);
49 result GetPkcs8EncDecKeyN(int& keyLen, byte** ppPrivKey, int encDecBit);
51 result SetPrivateKey(int keyLen, byte* pPrivKey);
53 result SetPrivateKey(char* pFileName);
56 _CertPrivateKeyInfo(const _CertPrivateKeyInfo& rhs);
58 _CertPrivateKeyInfo& operator =(const _CertPrivateKeyInfo& rhs);
62 std::unique_ptr< byte[] > __pPrivateKey;
64 }; //_CertPrivateKeyInfo
66 } } } //Tizen::Security::Cert
68 #endif // _FSEC_CERT_INTERNAL_CERT_PRIVATE_KEY_INFO_H_