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.
17 #ifndef _CERTMGR_SERVICE_STUB_H_
18 #define _CERTMGR_SERVICE_STUB_H_
20 #include <FBaseByteBuffer.h>
21 #include <FBaseResult.h>
22 #include <FBaseObject.h>
23 #include <FBaseString.h>
25 #include "FIo_IIpcServerEventListener.h"
26 #include "FIo_IpcCommonParamTraits.h"
27 #include "FSecCert_CertTypes.h"
29 namespace Tizen { namespace Io
34 namespace Tizen { namespace Security { namespace Cert
37 class _OSP_EXPORT_ _CertServiceStub
38 : public Tizen::Io::_IIpcServerEventListener
39 , public Tizen::Base::Object
42 _CertServiceStub(void);
44 virtual ~_CertServiceStub(void);
47 // __IIPcServerEventListener interfaces
48 virtual result Construct(void);
50 virtual void OnIpcServerStarted(const Tizen::Io::_IpcServer& server);
52 virtual void OnIpcServerStopped(const Tizen::Io::_IpcServer& server);
54 virtual void OnIpcClientConnected(const Tizen::Io::_IpcServer& server, int clientId);
56 virtual void OnIpcClientDisconnected(const Tizen::Io::_IpcServer& server, int clientId);
58 virtual void OnIpcRequestReceived(Tizen::Io::_IpcServer& server, const IPC::Message& message);
60 //CertService handler method
62 bool OnGetName(result* pRet);
64 bool OnCloseCertificateStore(int certificateStoreCtx, result* pRet);
66 bool OnOpenCertificateStoreByType(int type, int* pCount, result* pRet);
68 bool OnGetCertificateCount(int type, int* pCertCount, result* pRet);
70 bool OnGetNextCertificate(int type, int curPos, int length, Tizen::Io::_IpcBuffer* pCertBufferIpc, int* pNewPos, result* pRet);
72 bool OnUpdateRootCa(int type, Tizen::Io::_IpcBuffer certOldBufferIpc, Tizen::Io::_IpcBuffer certNewBufferIpc, result* pRet);
74 bool OnRemoveRootCa(int type, Tizen::Io::_IpcBuffer certBufferIpc, int bufLen, result* pRet);
76 bool OnUninstallUserRootCertificateByCertId(int certId, result* pRet);
78 bool OnInsertCaCertificate(int type, int format, Tizen::Io::_IpcBuffer certBuffer, long certLen, result* pRet);
80 bool OnInsertUserCaCertificate(int format, Tizen::Io::_IpcBuffer certBuffer, int certLen, result* pRet);
82 bool OnInstallUserRootCertificate(Tizen::Io::_IpcBuffer filePath, result* pRet);
84 bool OnInsertUserCertChainPrivateKey(Tizen::Io::_IpcBuffer certChainBufferIpc, int certSize, Tizen::Io::_IpcBuffer privateKeyBufferIpc, int userPriKeyLen, result* pRet);
86 bool OnInsertCertificateChainWithPrivateKey(Tizen::Io::_IpcBuffer certChainPrivateKeyBufferIpc, int certChainPrivateKeyLength, result* pRet);
88 bool OnInstallPkcs12Content(Tizen::Io::_IpcBuffer pkcs12FilePath, Tizen::Io::_IpcBuffer pkcs12ImportPassword, bool checkPrivilege, result* pRet);
90 bool OnDeleteUserCertChainByCertId(int certID, result* pRet);
92 bool OnGetUserCertChainByIssuerAndSubjectNameN(Tizen::Io::_IpcBuffer issuerBufferIpc, int issuerNameLen, Tizen::Io::_IpcBuffer subjectBufferIpc, int subNameLen, _CertificateListInfo* pCertList, result* pRet);
94 bool OnGetUserCertificateByCertIdN(int certId, int encodingType, _CertInfo* pUserCertificateList, result* pRet);
96 bool OnGetUserCertFieldInfoByCertId(int certId, _CertFieldInfos* pCertFieldInfos, result* pRet);
98 bool OnRestoreRootCaIntegrity(void);
100 result UpdateCertStoreContext(void);
103 _CertServiceStub(const _CertServiceStub& rhs);
105 _CertServiceStub& operator =(const _CertServiceStub& rhs);
108 Tizen::Io::_IpcServer* __pIpcServer;
111 }; // _CertServiceStub
113 } } } // Tizen::Security::Cert
115 #endif // _CERTMGR_SERVICE_STUB_H_