centos7 ca-bundle.crt 업데이트 방법. php 에서 file_get_contents 로 https 호출시 에러 발생시



*. 에러현상
file_get_contents() 에서 https 호출시 아래와 같은 에러가 발생될 겨우
 
[root@xxxx tmp]# php test2.php
PHP Warning:  file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /tmp/test2.php on line 10
PHP Warning:  file_get_contents(): Failed to enable crypto in /tmp/test2.php on line 10
PHP Warning:  file_get_contents(https://xxxx.yyyy.com/abc): failed to open stream: operation failed in /tmp/test2.php on line 10
bool(false)




*. 원인
CA인증서 만료날짜가 지나서 생기는 이슈

*. 임시 해결법
$arrContextOptions=array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
);

$response = file_get_contents("https://xxxx.yyyy.com/abc", false,$arrContextOptions);



*. OS에서 CA 인증서 새로 받아 적용
centos 7 기준


*. 인증서 위치 : /etc/pki/tls/certs

[root@xxxx certs]# ll
total 16
lrwxrwxrwx  1 root root   49 Feb 25  2021 ca-bundle.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem   <-- 이파일 교체
lrwxrwxrwx  1 root root   55 Feb 25  2021 ca-bundle.trust.crt -> /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
-rw-------. 1 root root 1403 Mar 12  2019 localhost.crt
-rwxr-xr-x  1 root root  610 Dec 17  2020 make-dummy-cert
-rw-r--r--  1 root root 2516 Dec 17  2020 Makefile
-rwxr-xr-x  1 root root  829 Dec 17  2020 renew-dummy-cert


*. 인증서 갱신 ( https://curl.se/docs/caextract.html 에서 확인)
[root@xxxx tmp]# curl https://curl.se/ca/cacert.pem -o /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem


*. update-ca-trust
이 명령어 사용하지 말라! 오래된 인증서로 다시 내려 받더라.
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
3.31
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
5.1
5.2
5.3
5.4