
openssl_csr_new 함수의 인자 중 \'private_key\'와 \'private_key_bits\'를 설정하는 방법은 다음과 같습니다.
- \'private_key\' 인자는 RSA, DSA, EC 등 다양한 암호화 알고리즘을 지원하는 OpenSSL의 개인키를 생성하는 함수인 openssl_pkey_new() 함수의 반환값을 지정합니다.
- \'private_key_bits\' 인자는 개인키의 비트 수를 지정합니다. 예를 들어, RSA 개인키의 경우 2048비트, 4096비트 등 다양한 비트 수를 지정할 수 있습니다.
예를 들어, RSA 개인키를 2048비트로 생성하고 CSR을 생성하는 코드는 다음과 같습니다.
#hostingforum.kr
c
// RSA 개인키를 2048비트로 생성
RSA *rsa = RSA_new();
BIGNUM *bne = BN_new();
BN_set_word(bne, 65537);
RSA_generate_key_ex(rsa, 2048, bne, NULL);
// CSR을 생성
X509_NAME *subject = X509_NAME_new();
X509_NAME_add_entry_by_txt(subject, "CN", MBSTRING_ASC, (const unsigned char *)"example.com", -1, -1, 0);
X509_NAME_add_entry_by_txt(subject, "C", MBSTRING_ASC, (const unsigned char *)"KR", -1, -1, 0);
X509_NAME *issuer = X509_NAME_new();
X509_NAME_add_entry_by_txt(issuer, "CN", MBSTRING_ASC, (const unsigned char *)"example.com", -1, -1, 0);
X509_NAME_add_entry_by_txt(issuer, "C", MBSTRING_ASC, (const unsigned char *)"KR", -1, -1, 0);
X509_REQ *req = openssl_csr_new(rsa, subject);
X509_NAME_free(subject);
X509_NAME_free(issuer);
// CSR을 출력
X509_print_ex(BN_bn2file(req->subject, 0), stdout, 0, XN_FLAG_ONELINE);
이러한 코드를 통해 RSA 개인키를 2048비트로 생성하고 CSR을 생성할 수 있습니다.
2025-04-05 19:31