static void setup_sign_certificate(ptls_openssl_sign_certificate_t *sc) { BIO *bio = BIO_new_mem_buf(RSA_PRIVATE_KEY, strlen(RSA_PRIVATE_KEY)); EVP_PKEY *pkey = PEM_read_bio_PrivateKey(bio, NULL, NULL, NULL); assert(pkey != NULL || !"failed to load private key"); BIO_free(bio); ptls_openssl_init_sign_certificate(sc, pkey); EVP_PKEY_free(pkey); }
void SetSignCertificate(char * keypem, ptls_context_t * ctx) { static ptls_openssl_sign_certificate_t signer; EVP_PKEY *pkey = EVP_PKEY_new(); BIO* bio_key = BIO_new_file(keypem, "rb"); PEM_read_bio_PrivateKey(bio_key, &pkey, NULL, NULL); ptls_openssl_init_sign_certificate(&signer, pkey); EVP_PKEY_free(pkey); ctx->sign_certificate = &signer.super; }
int main(int argc, char **argv) { ERR_load_crypto_strings(); OpenSSL_add_all_algorithms(); #if !defined(OPENSSL_NO_ENGINE) /* Load all compiled-in ENGINEs */ ENGINE_load_builtin_engines(); ENGINE_register_all_ciphers(); ENGINE_register_all_digests(); #endif { BIO *bio = BIO_new_mem_buf(RSA_CERTIFICATE, strlen(RSA_CERTIFICATE)); X509 *x509 = PEM_read_bio_X509(bio, NULL, NULL, NULL); assert(x509 != NULL || !!"failed to load certificate"); BIO_free(bio); cert.len = i2d_X509(x509, &cert.base); X509_free(x509); } { BIO *bio = BIO_new_mem_buf(RSA_PRIVATE_KEY, strlen(RSA_PRIVATE_KEY)); EVP_PKEY *pkey = PEM_read_bio_PrivateKey(bio, NULL, NULL, NULL); assert(pkey != NULL || !"failed to load private key"); BIO_free(bio); ptls_openssl_init_sign_certificate(&cert_signer, pkey); EVP_PKEY_free(pkey); } subtest("next-packet-number", test_next_packet_number); subtest("ranges", test_ranges); subtest("frame", test_frame); subtest("maxsender", test_maxsender); subtest("ack", test_ack); subtest("simple", test_simple); subtest("stream-concurrency", test_stream_concurrency); subtest("loss", test_loss); return done_testing(); }