개발자 Q&A

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

2025.03.11 03:15

openssl_get_publickey 관련 질문내용입니다.

목록
  • Bootstrap고수 14일 전 2025.03.11 03:15
  • 13
    1
openssl_get_publickey 함수 이해를 도와주세요

저는 PHP에서 SSL 인증서를 이용한 HTTPS 서버를 만들고 있습니다.
openssl_get_publickey 함수를 사용하여 공개 키를 추출하려고 합니다.

다음과 같은 코드를 사용하여 공개 키를 추출하려고 합니다.

php

$public_key = openssl_get_publickey($cert);



하지만, 이 코드를 실행할 때 에러가 발생합니다.
에러 메시지는 "openssl_get_publickey(): supplied argument is not a valid public key" 이라고 나옵니다.

공개 키를 추출하는 방법을 알려주세요.

혹시, 이 에러가 발생하는 이유를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  14일 전



    openssl_get_publickey 함수는 SSL 인증서의 공개 키를 추출하는 함수입니다. 이 함수를 사용하려면 인증서의 공개 키가 포함된 DER 형식의 문자열을 인수로 전달해야 합니다.

    인증서의 공개 키를 추출하려면 다음 코드를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $cert = file_get_contents('인증서 파일 경로');
    
    $public_key = openssl_pkey_get_public($cert);
    
    


    이 코드에서는 인증서 파일의 내용을 읽어와 `$cert` 변수에 저장한 후, `openssl_pkey_get_public` 함수를 사용하여 인증서의 공개 키를 추출합니다.

    `openssl_get_publickey` 함수를 사용할 때 에러가 발생하는 이유는 인증서의 공개 키가 포함된 DER 형식의 문자열이 아닌 다른 형식의 문자열이 전달된 경우입니다.

    `openssl_pkey_get_public` 함수를 사용하는 것이 더 안전하고 올바른 방법입니다.

    이 함수를 사용하여 인증서의 공개 키를 추출한 후, 필요한 정보를 얻기 위해 `openssl_pkey_get_details` 함수를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $details = openssl_pkey_get_details($public_key);
    
    echo $details['key'];
    
    


    이 코드에서는 인증서의 공개 키를 추출한 후, `openssl_pkey_get_details` 함수를 사용하여 인증서의 공개 키의 상세 정보를 얻습니다.

    2025-03-11 03:16

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

검색

게시물 검색