CentOS 6에 루트 인증서 설치

CentOS 6에 루트 인증서 설치

이미 요청되었다는 것을 알고 있지만 많은 시간의 연구에도 불구하고 작동하는 솔루션을 찾을 수 없었습니다. 내부 서비스가 SSL을 사용하여 서로 바인딩할 수 있도록 서버에 루트 인증서를 설치하려고 합니다.

새 루트 CA에 대해 알아야 할 사항:

  1. 아파치 httpd와 PHP
  2. OpenLDAP 클라이언트
  3. Node.js

Apache의 경우 루트 인증서를 알기 위해서는 PHP 애플리케이션이 필요합니다. 따라서 사이트가 다른 SSL 웹사이트(동일한 CA에서 서명함)에 연결하면 제대로 작동하고 자체 서명된 인증서에 대해 불평하지 않습니다.

OpenLDAP의 경우 PHP와 동일하다고 생각합니다. 사용하는 모듈은 꽤 오래되었으며 PEAR와 함께 설치된 Net_LDAP2입니다. 로컬 openldap 구성을 편집해 보았으나 시스템이 이를 사용하지 않는 것 같습니다.

마지막 Node.js는 Parsoid에 사용합니다. node.js 서버는 좋은 SSL 연결을 만들기 위해 CA를 신뢰해야 합니다.

/etc/pki/tls/certs/ca-bundle.crt에 인증서를 추가하려고 시도했지만 거의 성공하지 못했습니다.

httpd는 루트 CA를 볼 수 없지만 tomcat 및 389와 같은 다른 서비스가 이를 통해 작동하도록 만들었습니다.

귀하의 지원에 감사드립니다.

답변1

내 RHEL 6 상자의 man 8 update-ca-trust매뉴얼 페이지에는 시스템 전체 CA 인증서 및 관련 신뢰를 관리할 수 있거나 관리해야 하는 방법에 대한 매우 광범위한 설명이 있습니다.

위의 설명에서 알 수 있듯이 구성이 애플리케이션에 따라 달라지는 경우가 더 많습니다.

답변2

SSL 초보자가 더 쉽게 액세스할 수 있도록 몇 가지 명령줄을 작성했습니다.

PKI 폴더로 이동

$ cd /etc/pki/tls/certs/
 

VERIFY(하드) 링크 및 백업 인증서

$ cp ca-bundle.crt /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem.bak
$ cp ca-bundle.trust.crt /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt.bak
 

CA 체인을 CentOS에 업로드

$ scp <cachain> root@sydapp28:/tmp 
 

SSH(Putty?) 또는 로컬을 통해 CentOS에 연결

$ ssh -C root@sydapp28
 

IF PKCS12 CAChain: "내부 CA 체인 인증서를 PEM 형식으로 변환하고 헤더를 제거합니다":

$ cd /tmp ; openssl pkcs12 -nodes -in <cachain.pfx.p12> | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cachain.pem
 

CentOS에 내부 CA 추가

$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/ca-bundle.trust.crt
$ reboot

관련 정보