개발자 Q&A

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

2025.03.25 08:00

openssl_pkcs7_sign 관련 질문입니다.

목록
  • 스택오버플로우장인 21시간 전 2025.03.25 08:00 새글
  • 2
    1
제가 openssl_pkcs7_sign을 사용하여 PKCS#7 서명서를 생성하려고하는데,

1. openssl_pkcs7_sign의 인자 중에서 'signer_info'를 사용하여 서명 정보를 추가하는 방법을 알려주세요.
2. signer_info에 포함되어야 하는 필드에 대해 설명해주세요.
3. signer_info에 포함되어야 하는 필드의 형식과 크기, 데이터 타입에 대해 알려주세요.

위에 질문에 대한 답변을 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  21시간 전



    1. openssl_pkcs7_sign 함수에서 signer_info를 사용하여 서명 정보를 추가하려면, 다음 형식으로 인자를 전달해야 합니다.

    #hostingforum.kr
    php
    
    openssl_pkcs7_sign($signed_data, $signed_data, $cert_file, $key_file, $signer_info, $full_path, $extra_cert, $extra_chain_certs, $md, $binary, $ex_data, $md_ctx);
    
    


    signer_info는 array 형식으로 전달해야 하며, 다음과 같은 필드를 포함해야 합니다.

    #hostingforum.kr
    php
    
    $signer_info = array(
    
        'issuer_name_hash' => openssl_x509_hash($cert_file),
    
        'issuer_name' => openssl_x509_parse($cert_file)['subject'],
    
        'subject_name' => openssl_x509_parse($cert_file)['subject'],
    
        'digest_alg' => 'sha256',
    
        'digest' => hash('sha256', $signed_data),
    
        'content_type' => 'data',
    
        'content' => $signed_data,
    
    );
    
    


    2. signer_info에 포함되어야 하는 필드는 다음과 같습니다.

    - issuer_name_hash: 서명한 인증서의 이름 해시
    - issuer_name: 서명한 인증서의 발급자 이름
    - subject_name: 서명한 인증서의 주체 이름
    - digest_alg: 사용된 해시 알고리즘
    - digest: 서명한 데이터의 해시 값
    - content_type: 서명한 데이터의 유형
    - content: 서명한 데이터

    3. signer_info에 포함되어야 하는 필드의 형식과 크기, 데이터 타입은 다음과 같습니다.

    - issuer_name_hash: 20바이트의 문자열
    - issuer_name: openssl_x509_parse 함수의 결과
    - subject_name: openssl_x509_parse 함수의 결과
    - digest_alg: 문자열
    - digest: 32바이트의 문자열
    - content_type: 문자열
    - content: 문자열

    2025-03-25 08:00

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

검색

게시물 검색