개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.05 19:30

openssl_csr_new와 관련한 질문

목록
  • 취약점헌터 1일 전 2025.04.05 19:30
  • 1
    1
openssl_csr_new 함수 사용에 대한 질문입니다.

저는 openssl_csr_new 함수를 사용하여 CSR(인증서 요청)을 생성하려고 합니다.
하지만, 이 함수의 인자 중 'private_key'와 'private_key_bits'를 어떻게 설정해야 하는지 모르겠습니다.
openssl_csr_new 함수의 인자 중 'private_key'와 'private_key_bits'를 설정하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 9,601건 / 12 페이지

검색

게시물 검색