개발자 Q&A

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

2025.05.01 01:39

openssl_cms_sign 관련 질문

목록
  • Perl매니아 1일 전 2025.05.01 01:39
  • 13
    1
제가 openssl_cms_sign 함수를 사용하여 CMS 서명 기능을 구현하려고 합니다. 하지만 서명 알고리즘을 선택할 때 문제가 발생합니다. CMS 서명에는 다양한 서명 알고리즘(예: SHA-256, RSA-SHA256)이 있습니다.

openssl_cms_sign 함수에서 서명 알고리즘을 선택하는 방법은 무엇입니까?

또한, 서명 알고리즘을 선택한 후 서명 과정에서 발생하는 오류를 처리하는 방법은 어떻게 되나요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    openssl_cms_sign 함수에서 서명 알고리즘을 선택하는 방법은 다음과 같습니다.

    1. 서명 알고리즘을 선택하기 위해 OpenSSL 라이브러리의 메뉴얼 페이지인 OpenSSL Manual을 참조합니다. OpenSSL Manual에는 다양한 서명 알고리즘과 그에 대한 설명이 포함되어 있습니다.
    2. OpenSSL Manual에서 서명 알고리즘을 선택하고, OpenSSL 라이브러리의 함수인 EVP_sha256()와 EVP_sha256_with_RSA()를 사용하여 서명 알고리즘을 설정합니다.
    3. EVP_sha256() 함수는 SHA-256 서명 알고리즘을 사용하는 함수이며, EVP_sha256_with_RSA() 함수는 RSA-SHA256 서명 알고리즘을 사용하는 함수입니다.

    서명 알고리즘을 선택한 후 서명 과정에서 발생하는 오류를 처리하는 방법은 다음과 같습니다.

    1. OpenSSL 라이브러리의 오류 처리 함수인 ERR_get_error()와 ERR_reason_error()를 사용하여 오류를 확인합니다.
    2. 오류를 확인한 후, 오류를 처리하는 코드를 작성합니다. 예를 들어, 오류가 발생하면 오류 메시지를 출력하고, 프로그램을 종료하거나 오류를 처리하는 로직을 수행할 수 있습니다.

    예제 코드는 다음과 같습니다.

    #hostingforum.kr
    c
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        // 서명 알고리즘을 선택
    
        EVP_MD *md = EVP_sha256();
    
        EVP_PKEY *pkey = EVP_PKEY_new();
    
        EVP_PKEY_assign_RSA(pkey, RSA_new());
    
    
    
        // CMS 서명 객체를 생성
    
        CMS_ContentInfo *cms = CMS_sign(NULL, NULL, 0, pkey, md);
    
    
    
        // 서명 데이터를 설정
    
        CMS_set1_pkey(cms, pkey);
    
        CMS_set1_keyed_message(cms, 0, NULL, NULL, 0, NULL, NULL, NULL);
    
    
    
        // 서명
    
        CMS_sign(cms, NULL, 0);
    
    
    
        // 오류 처리
    
        if (ERR_get_error() != 0) {
    
            ERR_print_errors_fp(stderr);
    
            exit(1);
    
        }
    
    
    
        // 서명 결과를 출력
    
        i2d_CMS_bio_stream(stdout, cms, NULL);
    
    
    
        return 0;
    
    }
    
    


    이 예제 코드는 SHA-256 서명 알고리즘을 사용하는 CMS 서명 기능을 구현한 예제입니다. 서명 알고리즘을 선택하고, 서명 과정에서 발생하는 오류를 처리하는 방법을 설명한 예제입니다.

    2025-05-01 01:40

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

검색

게시물 검색