• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 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 <gtest/gtest.h>
17 #include <iostream>
18 #include <openssl/pem.h>
19 #include <string>
20 
21 #define private public
22 #include "tls.h"
23 #include "tls_certificate.h"
24 
25 namespace OHOS {
26 namespace NetStack {
27 namespace TlsSocket {
28 namespace {
29 using namespace testing::ext;
30 static char g_clientFile[] =
31     "-----BEGIN CERTIFICATE-----\r\n"
32     "MIIDezCCAmMCFD6h5R4QvySV9q9mC6s31qQFLX14MA0GCSqGSIb3DQEBCwUAMHgx\r\n"
33     "CzAJBgNVBAYTAkNOMQswCQYDVQQIDAJHRDELMAkGA1UEBwwCU1oxDDAKBgNVBAoM\r\n"
34     "A0NPTTEMMAoGA1UECwwDTlNQMQswCQYDVQQDDAJDQTEmMCQGCSqGSIb3DQEJARYX\r\n"
35     "emhhbmd6aGV3ZWkwMTAzQDE2My5jb20wHhcNMjIwNDI0MDIwMjU3WhcNMjMwNDI0\r\n"
36     "MDIwMjU3WjB8MQswCQYDVQQGEwJDTjELMAkGA1UECAwCR0QxCzAJBgNVBAcMAlNa\r\n"
37     "MQwwCgYDVQQKDANDT00xDDAKBgNVBAsMA05TUDEPMA0GA1UEAwwGQ0xJRU5UMSYw\r\n"
38     "JAYJKoZIhvcNAQkBFhd6aGFuZ3poZXdlaTAxMDNAMTYzLmNvbTCCASIwDQYJKoZI\r\n"
39     "hvcNAQEBBQADggEPADCCAQoCggEBAKlc63+j5C7tLoaecpdhzzZtLy8iNSi6oLHc\r\n"
40     "+bPib1XWz1zcQ4On5ncGuuLSV2Tyse4tSsDbPycd8b9Teq6gdGrvirtGXau82zAq\r\n"
41     "no+t0mxVtV1r0OkSe+hnIrYKxTE5UDeAM319MSxWlCR0bg0uEAuVBPQpld5A9PQT\r\n"
42     "YCLbv4cTwB0sIKupsnNbrn2AsAlCFd288XeuTN+N87m05cDkprAkqkCJfAtRnejV\r\n"
43     "k+vbS+H6toR3P9PVQJXC77oM7cDOjR8AwpkRRA890XUWoQLwhHXvDpGPwKK+lLnG\r\n"
44     "FswiaHy3silUIOidwk7E/81BOqXSk77oUG6UQrVilkmu6g79VssCAwEAATANBgkq\r\n"
45     "hkiG9w0BAQsFAAOCAQEAOeqp+hFVRs4YB3UjU/3bvAUFQLS97gapCp2lk6jS88jt\r\n"
46     "uNeyvwulOAtZEbcoIIvzzNxvBDOVibTJ6gZU9P9g0WyRu2RTgy+UggNwH8u8KZzM\r\n"
47     "DT8sxuoYvRcEWbOhlNQgACa7AlQSLQifo8nvEMS2i9o8WHoHu42MRDYOHYVIwWXH\r\n"
48     "h6mZzfo+zrPyv3NFlwlWqaNiTGgnGCXzlVK3p5YYqLbNVYpy0U5FBxQ7fITsqcbK\r\n"
49     "PusAAEZzPxm8Epo647M28gNkdEEM/7bqhSTJO+jfkojgyQt2ghlw+NGCmG4dJGZb\r\n"
50     "yA7Z3PBj8aqEwmRUF8SAR1bxWBGk2IYRwgStuwvusg==\r\n"
51     "-----END CERTIFICATE-----\r\n";
52 static char g_certificat[] =
53     "-----BEGIN CERTIFICATE-----\r\n"
54     "MIIDNzCCAh8CFDtvcMez0hxPAfnZQnWFGukh69e4MA0GCSqGSIb3DQEBCwUAMFgx\r\n"
55     "CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl\r\n"
56     "cm5ldCBXaWRnaXRzIFB0eSBMdGQxETAPBgNVBAMMCHRlc3R0X2NhMB4XDTIzMDEw\r\n"
57     "NDExMTc0NloXDTIzMDIwMzExMTc0NlowWDELMAkGA1UEBhMCQVUxEzARBgNVBAgM\r\n"
58     "ClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDER\r\n"
59     "MA8GA1UEAwwIdGVzdHRfY2EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\r\n"
60     "AQCl4TyBVbZZKBQDGtrc/lx/L+i7eYoTajWikrwbF4OO/w0TJJOaU1McwpuDlkZk\r\n"
61     "H+S5DvL78Sua3p5GbkS1YYV31ugLypXGpKa8v+H4ZqC4GkTvTjtyiVGWXVHZQCK7\r\n"
62     "LeEvCEEQ8zn5YaC99+/KRYyuQkiuRVKEuogfZjLUZ5xF6B4JwevFCGZtKkLX02FH\r\n"
63     "U4d8DycWujP+dGuUAcwX4IGPShOZyKu1G9+wVr6W4uXwrZ2cdo+UMmeBr0/hLWbl\r\n"
64     "qldFxuyME3xBB74mR6s+fMry/vUNyEfxTfYTczM/ONpl7UjybieV7WJLWiPLaQnA\r\n"
65     "BV3jkhYmXpw3UmsHVytXmv3JAgMBAAEwDQYJKoZIhvcNAQELBQADggEBABkwt8Xy\r\n"
66     "5g48xCYZaF8sQ0N/dmkTAV+ysudylZpLQrY5vFwlpYONM9VmcGUcQK9zSwxWNB1y\r\n"
67     "c/AuXbr8DAZ742bzRzma8uJCAWWJJwfY5Elglf1gnSCLLaE0FvxaX0jTch/sxCYV\r\n"
68     "Wn0lkWTgCEJGjokCaegdEVZ50XahAwnZcv2k+nsS4awN8w4F1n5YaMHXOylIDl8L\r\n"
69     "CTjeQZEcw7CEMbgRt1P6Sl3nsOUoaTNDO8NIO72yC+nX8Jexw7n9EQL2lOyobliL\r\n"
70     "axz/WYkhLK8HxDyHl/mgMPnna8jpVcgx591f2QGtsth8iToi/C+Zpf+NC6BQhOTd\r\n"
71     "ed2YEa3zgjRGFIE=\r\n"
72     "-----END CERTIFICATE-----\r\n";
73 static char g_caCrtFile[] =
74     "Certificate:\r\n"
75     "   Data:\r\n"
76     "        Version: 3 (0x2)\r\n"
77     "        Serial Number: 1 (0x1)\r\n"
78     "        Signature Algorithm: sha256WithRSAEncryption\r\n"
79     "        Issuer: C=CN, ST=beijing, O=ahaha Inc, OU=Root CA, CN=ahaha CA\r\n"
80     "        Validity\r\n"
81     "            Not Before: Aug 23 07:33:55 2022 GMT\r\n"
82     "            Not After : Aug 23 07:33:55 2023 GMT\r\n"
83     "        Subject: C=CN, ST=beijing, O=ahaha Inc, OU=Root CA, CN=ahaha CA\r\n"
84     "        Subject Public Key Info:\r\n"
85     "            Public Key Algorithm: rsaEncryption\r\n"
86     "                RSA Public-Key: (2048 bit)\r\n"
87     "                Modulus:\r\n"
88     "                    00:9d:df:68:f7:7b:78:0b:21:f3:6f:24:60:ef:ce:\r\n"
89     "                    02:90:24:df:c4:d3:f3:e4:26:6c:c7:12:bf:28:cd:\r\n"
90     "                    38:2d:3f:ab:76:11:64:ce:6b:f6:07:fd:35:1e:b9:\r\n"
91     "                    ec:22:72:03:4d:eb:d2:94:49:2d:82:44:6c:72:59:\r\n"
92     "                    14:ab:e7:0c:72:32:3e:ad:fa:9d:52:da:24:8d:e9:\r\n"
93     "                    a4:10:d7:dd:34:66:df:7e:e0:0e:66:53:8b:ee:91:\r\n"
94     "                    07:9a:ce:2a:85:25:09:77:3d:5f:75:1c:a1:b3:ab:\r\n"
95     "                    86:3b:21:28:f8:43:aa:f0:0b:7d:4d:f9:df:85:33:\r\n"
96     "                    4a:3b:ff:e4:03:59:25:62:a1:e9:da:92:63:02:93:\r\n"
97     "                    bd:f9:df:6e:c6:57:a7:d2:e6:7b:37:14:a9:ba:69:\r\n"
98     "                    71:0c:c5:4f:66:fe:67:66:5c:8d:d7:04:4d:d8:f3:\r\n"
99     "                    0b:c0:0b:7d:49:eb:68:94:28:f6:31:0f:0d:2a:03:\r\n"
100     "                    70:a7:97:f9:38:90:36:d4:4b:39:4b:53:a5:2c:32:\r\n"
101     "                    72:f2:41:86:32:13:3c:40:2d:3f:e8:63:d3:8c:8a:\r\n"
102     "                    83:79:d3:20:f6:bc:cd:97:3e:94:91:4e:3c:74:8d:\r\n"
103     "                    9a:fa:29:de:c4:a5:f7:e1:e2:06:55:e6:6c:41:0f:\r\n"
104     "                    60:3b:90:de:3a:84:ef:3a:77:79:27:00:23:55:66:\r\n"
105     "                    ca:81\r\n"
106     "                Exponent: 65537 (0x10001)\r\n"
107     "        X509v3 extensions:\r\n"
108     "            X509v3 Basic Constraints:\r\n"
109     "                CA:TRUE\r\n"
110     "        Signature Algorithm: sha256WithRSAEncryption\r\n"
111     "            61:3e:39:71:7f:b1:50:dd:71:97:cd:dc:a9:4b:72:96:0a:12:\r\n"
112     "            c1:18:fd:35:b5:e0:97:1b:76:58:22:8d:cd:75:51:0f:ba:04:\r\n"
113     "            00:94:6a:46:d5:3a:c5:ac:ea:7d:9c:ec:6f:19:b6:f1:2b:06:\r\n"
114     "            e9:bb:cb:49:24:34:0b:55:bd:02:19:24:19:85:bb:e4:a4:80:\r\n"
115     "            f4:d6:90:82:7e:81:5c:9b:89:d4:15:ed:3a:b7:a2:37:59:40:\r\n"
116     "            db:b4:18:25:90:2e:ae:82:f9:a8:0c:9d:bd:c7:8c:54:85:ed:\r\n"
117     "            07:d1:70:1d:ee:a1:92:bd:12:97:83:4d:9e:9e:b7:01:b5:56:\r\n"
118     "            a5:1f:31:6e:a1:48:68:a4:4f:1c:fa:b0:38:27:47:12:eb:55:\r\n"
119     "            a3:45:f7:e3:18:ba:d7:85:3c:1f:2c:1e:5e:38:75:5e:80:8a:\r\n"
120     "            fd:1c:84:4f:9b:ef:85:b7:79:89:d7:43:eb:d4:fb:c5:51:5b:\r\n"
121     "            84:6f:0e:06:32:54:13:e4:a7:e2:20:2d:b8:fa:2d:09:f8:8f:\r\n"
122     "            dd:01:19:39:cc:23:c0:d1:39:19:9a:f7:7c:53:63:bf:ea:be:\r\n"
123     "            04:9b:af:3e:6e:1e:77:c8:b9:0b:78:e9:0e:62:a7:51:db:1e:\r\n"
124     "            c0:63:4d:4d:14:ff:ca:44:7f:15:e4:fa:98:1e:3d:58:c2:b6:\r\n"
125     "            5a:64:68:d0\r\n"
126     "-----BEGIN CERTIFICATE-----\r\n"
127     "MIIDazCCAlOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJDTjEQ\r\n"
128     "MA4GA1UECAwHYmVpamluZzEdMBsGA1UECgwUR2xvYmFsIEdvb2dsZSBDQSBJbmMx\r\n"
129     "EDAOBgNVBAsMB1Jvb3QgQ0ExHjAcBgNVBAMMFUdsb2JhbCBHb29nbGUgUm9vdCBD\r\n"
130     "QTAeFw0yMjA4MjMwNzMzNTVaFw0yMzA4MjMwNzMzNTVaMHAxCzAJBgNVBAYTAkNO\r\n"
131     "MRAwDgYDVQQIDAdiZWlqaW5nMR0wGwYDVQQKDBRHbG9iYWwgR29vZ2xlIENBIElu\r\n"
132     "YzEQMA4GA1UECwwHUm9vdCBDQTEeMBwGA1UEAwwVR2xvYmFsIEdvb2dsZSBSb290\r\n"
133     "IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnd9o93t4CyHzbyRg\r\n"
134     "784CkCTfxNPz5CZsxxK/KM04LT+rdhFkzmv2B/01HrnsInIDTevSlEktgkRsclkU\r\n"
135     "q+cMcjI+rfqdUtokjemkENfdNGbffuAOZlOL7pEHms4qhSUJdz1fdRyhs6uGOyEo\r\n"
136     "+EOq8At9TfnfhTNKO//kA1klYqHp2pJjApO9+d9uxlen0uZ7NxSpumlxDMVPZv5n\r\n"
137     "ZlyN1wRN2PMLwAt9SetolCj2MQ8NKgNwp5f5OJA21Es5S1OlLDJy8kGGMhM8QC0/\r\n"
138     "6GPTjIqDedMg9rzNlz6UkU48dI2a+inexKX34eIGVeZsQQ9gO5DeOoTvOnd5JwAj\r\n"
139     "VWbKgQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBh\r\n"
140     "Pjlxf7FQ3XGXzdypS3KWChLBGP01teCXG3ZYIo3NdVEPugQAlGpG1TrFrOp9nOxv\r\n"
141     "GbbxKwbpu8tJJDQLVb0CGSQZhbvkpID01pCCfoFcm4nUFe06t6I3WUDbtBglkC6u\r\n"
142     "gvmoDJ29x4xUhe0H0XAd7qGSvRKXg02enrcBtValHzFuoUhopE8c+rA4J0cS61Wj\r\n"
143     "RffjGLrXhTwfLB5eOHVegIr9HIRPm++Ft3mJ10Pr1PvFUVuEbw4GMlQT5KfiIC24\r\n"
144     "+i0J+I/dARk5zCPA0TkZmvd8U2O/6r4Em68+bh53yLkLeOkOYqdR2x7AY01NFP/K\r\n"
145     "RH8V5PqYHj1YwrZaZGjQ\r\n"
146     "-----END CERTIFICATE-----\r\n";
147 } // namespace
148 
149 class TlsCertificateTest : public testing::Test {
150 public:
SetUpTestCase()151     static void SetUpTestCase() {}
152 
TearDownTestCase()153     static void TearDownTestCase() {}
154 
SetUp()155     virtual void SetUp() {}
156 
TearDown()157     virtual void TearDown() {}
158 };
159 
160 HWTEST_F(TlsCertificateTest, CertificateTest001, TestSize.Level2)
161 {
162     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
163     bool isCertFromData = tlsCertificate.CertificateFromData(g_clientFile, LOCAL_CERT);
164     EXPECT_EQ(isCertFromData, true);
165 }
166 
167 HWTEST_F(TlsCertificateTest, CertificateTest002, TestSize.Level2)
168 {
169     std::string data = "";
170     TLSCertificate tlsCertificate = TLSCertificate(data, EncodingFormat::DER, LOCAL_CERT);
171     bool ret = tlsCertificate.CertificateFromDer(g_clientFile, LOCAL_CERT);
172     EXPECT_EQ(ret, false);
173 }
174 
175 HWTEST_F(TlsCertificateTest, CertificateTest003, TestSize.Level2)
176 {
177     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, EncodingFormat::PEM, LOCAL_CERT);
178     bool ret = tlsCertificate.CertificateFromPem(g_caCrtFile, LOCAL_CERT);
179     EXPECT_FALSE(ret);
180 }
181 
182 HWTEST_F(TlsCertificateTest, CopyConstruction, TestSize.Level2)
183 {
184     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
185     TLSCertificate tlsCopy = TLSCertificate(tlsCertificate);
186     bool isCertFromData = tlsCopy.CertificateFromData(g_clientFile, LOCAL_CERT);
187     EXPECT_EQ(isCertFromData, true);
188 }
189 
190 HWTEST_F(TlsCertificateTest, AssignmentConstruction, TestSize.Level2)
191 {
192     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
193     TLSCertificate tlsCert = tlsCertificate;
194     bool isCertFromData = tlsCert.CertificateFromData(g_clientFile, LOCAL_CERT);
195     EXPECT_EQ(isCertFromData, true);
196 }
197 
198 HWTEST_F(TlsCertificateTest, GetLocalCertString, TestSize.Level2)
199 {
200     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
201     std::string localCert = tlsCertificate.GetLocalCertString();
202     std::cout << "localCert:" << localCert << std::endl;
203     EXPECT_NE(localCert.c_str(), nullptr);
204 }
205 
206 HWTEST_F(TlsCertificateTest, CertificateFromPemTest, TestSize.Level2)
207 {
208     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
209     bool ret = tlsCertificate.CertificateFromPem(g_certificat, LOCAL_CERT);
210     EXPECT_FALSE(ret);
211     ret = tlsCertificate.CertificateFromPem("", LOCAL_CERT);
212     EXPECT_FALSE(ret);
213 }
214 
215 HWTEST_F(TlsCertificateTest, CertificateFromDerTest, TestSize.Level2)
216 {
217     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
218     bool ret = tlsCertificate.CertificateFromDer(g_caCrtFile, LOCAL_CERT);
219     EXPECT_FALSE(ret);
220     ret = tlsCertificate.CertificateFromDer("", LOCAL_CERT);
221     EXPECT_FALSE(ret);
222 }
223 
224 HWTEST_F(TlsCertificateTest, GetSignatureAlgorithmTest, TestSize.Level2)
225 {
226     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
227     tlsCertificate.CertificateFromDer(g_certificat, CA_CERT);
228     std::string ret = tlsCertificate.GetSignatureAlgorithm();
229     EXPECT_FALSE(ret.empty());
230     TLSCertificate tlsCertificate2 = TLSCertificate("", LOCAL_CERT);
231     ret = tlsCertificate2.GetSignatureAlgorithm();
232     EXPECT_TRUE(ret.empty());
233 }
234 
235 HWTEST_F(TlsCertificateTest, CaFromData, TestSize.Level2)
236 {
237     TLSCertificate tlsCertificate = TLSCertificate(g_caCrtFile, CA_CERT);
238     bool isFilePath = tlsCertificate.CertificateFromData(g_caCrtFile, CA_CERT);
239 
240     BIO *bio = BIO_new_mem_buf(g_caCrtFile, -1);
241     X509 *x509Ca = PEM_read_bio_X509(bio, nullptr, nullptr, nullptr);
242     BIO_free(bio);
243     bool setLocalCertRawData = tlsCertificate.SetLocalCertRawData(x509Ca);
244     EXPECT_TRUE(setLocalCertRawData);
245     bool setX509Version = tlsCertificate.SetX509Version(x509Ca);
246     EXPECT_TRUE(setX509Version);
247     bool setSerialNumber = tlsCertificate.SetSerialNumber(x509Ca);
248     EXPECT_TRUE(setSerialNumber);
249     bool setNotValidTime = tlsCertificate.SetNotValidTime(x509Ca);
250     EXPECT_TRUE(setNotValidTime);
251     bool setSignatureAlgorithm = tlsCertificate.SetSignatureAlgorithm(x509Ca);
252     EXPECT_TRUE(setSignatureAlgorithm);
253     bool caCertToString = tlsCertificate.CaCertToString(x509Ca);
254     EXPECT_TRUE(caCertToString);
255     bool localCertToString = tlsCertificate.LocalCertToString(x509Ca);
256     EXPECT_TRUE(localCertToString);
257 
258     BIO *bioCrt = BIO_new_mem_buf(g_clientFile, -1);
259     X509 *x509Crt = PEM_read_bio_X509(bioCrt, nullptr, nullptr, nullptr);
260     BIO_free(bioCrt);
261     bool analysisCert = tlsCertificate.AnalysisCertificate(CertType::LOCAL_CERT, x509Crt);
262     EXPECT_TRUE(analysisCert);
263     bool analysisCa = tlsCertificate.AnalysisCertificate(CertType::CA_CERT, x509Ca);
264     EXPECT_TRUE(analysisCa);
265     EXPECT_EQ(isFilePath, true);
266 }
267 
268 HWTEST_F(TlsCertificateTest, AnalysisCertificateTest, TestSize.Level2)
269 {
270     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
271     X509 *x509 = nullptr;
272     bool ret = tlsCertificate.AnalysisCertificate(CertType::LOCAL_CERT, x509);
273     EXPECT_FALSE(ret);
274 }
275 
276 HWTEST_F(TlsCertificateTest, CaCertToStringTest, TestSize.Level2)
277 {
278     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
279     X509 *x509 = nullptr;
280     bool ret = tlsCertificate.CaCertToString(x509);
281     EXPECT_FALSE(ret);
282 }
283 
284 HWTEST_F(TlsCertificateTest, LocalCertToStringTest, TestSize.Level2)
285 {
286     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
287     X509 *x509 = nullptr;
288     bool ret = tlsCertificate.LocalCertToString(x509);
289     EXPECT_FALSE(ret);
290 }
291 
292 HWTEST_F(TlsCertificateTest, SetX509VersionTest, TestSize.Level2)
293 {
294     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
295     X509 *x509 = nullptr;
296     bool ret = tlsCertificate.SetX509Version(x509);
297     EXPECT_FALSE(ret);
298 }
299 
300 HWTEST_F(TlsCertificateTest, SetSerialNumberTest, TestSize.Level2)
301 {
302     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
303     X509 *x509 = nullptr;
304     bool ret = tlsCertificate.SetSerialNumber(x509);
305     EXPECT_FALSE(ret);
306 }
307 
308 HWTEST_F(TlsCertificateTest, SetNotValidTimeTest, TestSize.Level2)
309 {
310     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
311     X509 *x509 = nullptr;
312     bool ret = tlsCertificate.SetNotValidTime(x509);
313     EXPECT_FALSE(ret);
314 }
315 
316 HWTEST_F(TlsCertificateTest, SetSignatureAlgorithmTest, TestSize.Level2)
317 {
318     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
319     X509 *x509 = nullptr;
320     bool ret = tlsCertificate.SetSignatureAlgorithm(x509);
321     EXPECT_FALSE(ret);
322 }
323 
324 HWTEST_F(TlsCertificateTest, SetLocalCertRawDataTest, TestSize.Level2)
325 {
326     TLSCertificate tlsCertificate = TLSCertificate(g_clientFile, LOCAL_CERT);
327     X509 *x509 = nullptr;
328     bool ret = tlsCertificate.SetLocalCertRawData(x509);
329     EXPECT_FALSE(ret);
330 }
331 } // namespace TlsSocket
332 } // namespace NetStack
333 } // namespace OHOS
334