• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_wrapper.h"
17 
18 namespace OHOS::ArkWeb {
19 
ArkCertManagerAdapterWrapper(ArkWebRefPtr<ArkCertManagerAdapter> ref)20 ArkCertManagerAdapterWrapper::ArkCertManagerAdapterWrapper(ArkWebRefPtr<ArkCertManagerAdapter> ref) : ctocpp_(ref) {}
21 
GetCertMaxSize()22 uint32_t ArkCertManagerAdapterWrapper::GetCertMaxSize()
23 {
24     return ctocpp_->GetCertMaxSize();
25 }
26 
GetAppCertMaxSize()27 uint32_t ArkCertManagerAdapterWrapper::GetAppCertMaxSize()
28 {
29     return ctocpp_->GetAppCertMaxSize();
30 }
31 
GetSytemRootCertData(uint32_t certCount,uint8_t * certData)32 int32_t ArkCertManagerAdapterWrapper::GetSytemRootCertData(uint32_t certCount, uint8_t* certData)
33 {
34     return ctocpp_->GetSytemRootCertData(certCount, certData);
35 }
36 
GetSytemRootCertSum()37 uint32_t ArkCertManagerAdapterWrapper::GetSytemRootCertSum()
38 {
39     return ctocpp_->GetSytemRootCertSum();
40 }
41 
GetUserRootCertData(uint32_t certCount,uint8_t * certData)42 int32_t ArkCertManagerAdapterWrapper::GetUserRootCertData(uint32_t certCount, uint8_t* certData)
43 {
44     return ctocpp_->GetUserRootCertData(certCount, certData);
45 }
46 
GetUserRootCertSum()47 uint32_t ArkCertManagerAdapterWrapper::GetUserRootCertSum()
48 {
49     return ctocpp_->GetUserRootCertSum();
50 }
51 
GetAppCert(uint8_t * uriData,uint8_t * certData,uint32_t * len)52 int32_t ArkCertManagerAdapterWrapper::GetAppCert(uint8_t* uriData, uint8_t* certData, uint32_t* len)
53 {
54     return ctocpp_->GetAppCert(uriData, certData, len);
55 }
56 
Sign(const uint8_t * uri,const uint8_t * certData,uint32_t certDataLen,uint8_t * signData,uint32_t signDataLen)57 int32_t ArkCertManagerAdapterWrapper::Sign(
58     const uint8_t* uri, const uint8_t* certData, uint32_t certDataLen, uint8_t* signData, uint32_t signDataLen)
59 {
60     return ctocpp_->Sign(uri, certData, certDataLen, signData, signDataLen);
61 }
62 
SignV2(const uint8_t * uri,const uint8_t * certData,uint32_t certDataLen,uint8_t * signData,uint32_t * signDataLen,uint16_t algorithm)63 int32_t ArkCertManagerAdapterWrapper::SignV2(const uint8_t* uri, const uint8_t* certData, uint32_t certDataLen,
64     uint8_t* signData, uint32_t* signDataLen, uint16_t algorithm)
65 {
66     return ctocpp_->SignV2(uri, certData, certDataLen, signData, signDataLen, algorithm);
67 }
68 
GetCertDataBySubject(const char * subjectName,uint8_t * certData,int32_t certType)69 int32_t ArkCertManagerAdapterWrapper::GetCertDataBySubject(const char* subjectName, uint8_t* certData, int32_t certType)
70 {
71     return ctocpp_->GetCertDataBySubject(subjectName, certData, certType);
72 }
73 
VerifyCertFromNetSsl(uint8_t * certData,uint32_t certSize)74 int ArkCertManagerAdapterWrapper::VerifyCertFromNetSsl(uint8_t* certData, uint32_t certSize)
75 {
76     return ctocpp_->VerifyCertFromNetSsl(certData, certSize);
77 }
78 
GetTrustAnchorsForHostName(const std::string & hostname,std::vector<std::string> & certs)79 bool ArkCertManagerAdapterWrapper::GetTrustAnchorsForHostName(
80     const std::string& hostname, std::vector<std::string>& certs)
81 {
82     ArkWebString ark_hostname = ArkWebStringClassToStruct(hostname);
83     ArkWebStringVector ark_certs = ArkWebStringVectorClassToStruct(certs);
84     bool result = ctocpp_->GetTrustAnchorsForHostName(ark_hostname, ark_certs);
85     certs = ArkWebStringVectorStructToClass(ark_certs);
86     ArkWebStringStructRelease(ark_hostname);
87     ArkWebStringVectorStructRelease(ark_certs);
88     return result;
89 }
90 
GetPinSetForHostName(const std::string & hostname,std::vector<std::string> & pins)91 bool ArkCertManagerAdapterWrapper::GetPinSetForHostName(const std::string& hostname, std::vector<std::string>& pins)
92 {
93     ArkWebString ark_hostname = ArkWebStringClassToStruct(hostname);
94     ArkWebStringVector ark_pins = ArkWebStringVectorClassToStruct(pins);
95     bool result = ctocpp_->GetPinSetForHostName(ark_hostname, ark_pins);
96     pins = ArkWebStringVectorStructToClass(ark_pins);
97     ArkWebStringStructRelease(ark_hostname);
98     ArkWebStringVectorStructRelease(ark_pins);
99     return result;
100 }
101 
102 } // namespace OHOS::ArkWeb
103