@@ -269,8 +269,9 @@ namespace hcpp
269269 BIO *bio = BIO_new (BIO_s_mem ());
270270 PEM_write_bio_PrivateKey (bio, pkey, NULL , NULL , 0 , NULL , NULL );
271271 auto pkey_size = BIO_pending (bio);
272- auto pkey_array = new char [pkey_size + 1 ];
273- BIO_read (bio, pkey_array, pkey_size);
272+ std::string pkey_array{};
273+ pkey_array.resize (pkey_size+1 );
274+ BIO_read (bio, pkey_array.data (), pkey_size);
274275 BIO_free_all (bio);
275276 return pkey_array;
276277 }
@@ -280,8 +281,9 @@ namespace hcpp
280281 BIO *bio = BIO_new (BIO_s_mem ());
281282 PEM_write_bio_X509_PUBKEY (bio, pkey);
282283 auto pkey_size = BIO_pending (bio);
283- auto pubkey_array = new char [pkey_size + 1 ];
284- BIO_read (bio, pubkey_array, pkey_size);
284+ std::string pubkey_array;
285+ pubkey_array.resize (pkey_size + 1 );
286+ BIO_read (bio, pubkey_array.data (), pkey_size);
285287 BIO_free_all (bio);
286288 return pubkey_array;
287289 }
@@ -326,53 +328,53 @@ namespace hcpp
326328 // static void test()
327329 // {
328330
329- // auto cert = X509_new();
330-
331- // auto pkey = generate_pkey();
332- // if (pkey == NULL)
333- // CHECK(false);
334- // print_key(pkey);
335-
336- // set_version(cert);
337- // set_validity(cert);
338- // set_serialNumber(cert);
339- // add_issuer(cert);
340- // set_subject(cert);
341- // // add_SAN(cert);
342- // add_ca_BS(cert);
343- // add_AKI(cert);
344- // add_SKI(cert);
345- // add_ca_key_usage(cert);
346- // set_pubkey(cert, pkey);
347- // sign(cert, pkey);
348-
349- // print_cert(cert);
350-
351- // Save the private key to a file.
352- // FILE *privateKeyFile = fopen("hcpp.key.pem", "w");
353- // if (!privateKeyFile)
354- // {
355- // // CHECK(false);
356- // }
357- // if (!PEM_write_PrivateKey(privateKeyFile, pkey, nullptr, nullptr, 0, nullptr, nullptr))
358- // {
359- // fclose(privateKeyFile);
360- // // CHECK(false);
361- // }
362- // fclose(privateKeyFile);
363-
364- // // Save the CA certificate to a file.
365- // // auto certfile="cert";
366-
367- // FILE *caCertFile = fopen("hcpp.crt.pem", "wb");
368- // if (!caCertFile)
369- // {
370- // X509_free(cert);
371- // // CHECK(false);
372- // }
373- // PEM_write_X509(caCertFile, cert);
374-
375- // fclose(caCertFile);
376- // X509_free(cert);
331+ // auto cert = X509_new();
332+
333+ // auto pkey = generate_pkey();
334+ // if (pkey == NULL)
335+ // CHECK(false);
336+ // print_key(pkey);
337+
338+ // set_version(cert);
339+ // set_validity(cert);
340+ // set_serialNumber(cert);
341+ // add_issuer(cert);
342+ // set_subject(cert);
343+ // // add_SAN(cert);
344+ // add_ca_BS(cert);
345+ // add_AKI(cert);
346+ // add_SKI(cert);
347+ // add_ca_key_usage(cert);
348+ // set_pubkey(cert, pkey);
349+ // sign(cert, pkey);
350+
351+ // print_cert(cert);
352+
353+ // Save the private key to a file.
354+ // FILE *privateKeyFile = fopen("hcpp.key.pem", "w");
355+ // if (!privateKeyFile)
356+ // {
357+ // // CHECK(false);
358+ // }
359+ // if (!PEM_write_PrivateKey(privateKeyFile, pkey, nullptr, nullptr, 0, nullptr, nullptr))
360+ // {
361+ // fclose(privateKeyFile);
362+ // // CHECK(false);
363+ // }
364+ // fclose(privateKeyFile);
365+
366+ // // Save the CA certificate to a file.
367+ // // auto certfile="cert";
368+
369+ // FILE *caCertFile = fopen("hcpp.crt.pem", "wb");
370+ // if (!caCertFile)
371+ // {
372+ // X509_free(cert);
373+ // // CHECK(false);
374+ // }
375+ // PEM_write_X509(caCertFile, cert);
376+
377+ // fclose(caCertFile);
378+ // X509_free(cert);
377379 // }
378380} // namespace hcpp
0 commit comments