1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "ohos_adapter/bridge/ark_cert_manager_adapter_impl.h"
17 
18 #include "base/bridge/ark_web_bridge_macros.h"
19 
20 namespace OHOS::ArkWeb {
21 
ArkCertManagerAdapterImpl(std::shared_ptr<OHOS::NWeb::CertManagerAdapter> ref)22 ArkCertManagerAdapterImpl::ArkCertManagerAdapterImpl(std::shared_ptr<OHOS::NWeb::CertManagerAdapter> ref) : real_(ref)
23 {}
24 
GetCertMaxSize()25 uint32_t ArkCertManagerAdapterImpl::GetCertMaxSize()
26 {
27     return real_->GetCertMaxSize();
28 }
29 
GetAppCertMaxSize()30 uint32_t ArkCertManagerAdapterImpl::GetAppCertMaxSize()
31 {
32     return real_->GetAppCertMaxSize();
33 }
34 
GetSytemRootCertData(uint32_t certCount,uint8_t * certData)35 int32_t ArkCertManagerAdapterImpl::GetSytemRootCertData(uint32_t certCount, uint8_t* certData)
36 {
37     return real_->GetSytemRootCertData(certCount, certData);
38 }
39 
GetSytemRootCertSum()40 uint32_t ArkCertManagerAdapterImpl::GetSytemRootCertSum()
41 {
42     return real_->GetSytemRootCertSum();
43 }
44 
GetUserRootCertData(uint32_t certCount,uint8_t * certData)45 int32_t ArkCertManagerAdapterImpl::GetUserRootCertData(uint32_t certCount, uint8_t* certData)
46 {
47     return real_->GetUserRootCertData(certCount, certData);
48 }
49 
GetUserRootCertSum()50 uint32_t ArkCertManagerAdapterImpl::GetUserRootCertSum()
51 {
52     return real_->GetUserRootCertSum();
53 }
54 
GetAppCert(uint8_t * uriData,uint8_t * certData,uint32_t * len)55 int32_t ArkCertManagerAdapterImpl::GetAppCert(uint8_t* uriData, uint8_t* certData, uint32_t* len)
56 {
57     return real_->GetAppCert(uriData, certData, len);
58 }
59 
Sign(const uint8_t * uri,const uint8_t * certData,uint32_t certDataLen,uint8_t * signData,uint32_t signDataLen)60 int32_t ArkCertManagerAdapterImpl::Sign(
61     const uint8_t* uri, const uint8_t* certData, uint32_t certDataLen, uint8_t* signData, uint32_t signDataLen)
62 {
63     return real_->Sign(uri, certData, certDataLen, signData, signDataLen);
64 }
65 
GetCertDataBySubject(const char * subjectName,uint8_t * certData,int32_t certType)66 int32_t ArkCertManagerAdapterImpl::GetCertDataBySubject(const char* subjectName, uint8_t* certData, int32_t certType)
67 {
68     return real_->GetCertDataBySubject(subjectName, certData, certType);
69 }
70 
VerifyCertFromNetSsl(uint8_t * certData,uint32_t certSize)71 int ArkCertManagerAdapterImpl::VerifyCertFromNetSsl(uint8_t* certData, uint32_t certSize)
72 {
73     return 0;
74 }
75 
GetTrustAnchorsForHostName(const ArkWebString & hostname,ArkWebStringVector & certs)76 bool ArkCertManagerAdapterImpl::GetTrustAnchorsForHostName(const ArkWebString& hostname, ArkWebStringVector& certs)
77 {
78     std::vector<std::string> vec;
79     bool result = real_->GetTrustAnchorsForHostName(ArkWebStringStructToClass(hostname), vec);
80     certs = ArkWebStringVectorClassToStruct(vec);
81     return result;
82 }
83 
GetPinSetForHostName(const ArkWebString & hostname,ArkWebStringVector & pins)84 bool ArkCertManagerAdapterImpl::GetPinSetForHostName(const ArkWebString& hostname, ArkWebStringVector& pins)
85 {
86     std::vector<std::string> vec;
87     bool result = real_->GetPinSetForHostName(ArkWebStringStructToClass(hostname), vec);
88     pins = ArkWebStringVectorClassToStruct(vec);
89     return result;
90 }
91 
92 } // namespace OHOS::ArkWeb
93