문제 해결 절차는 사용하는 SSL 인증서 유형에 따라 다릅니다.
자체 관리형 SSL 인증서 문제 해결
이 가이드에서는 자체 관리형 SSL 인증서의 구성 문제를 해결하는 방법을 설명합니다.
인증서를 파싱할 수 없음
Trusted Cloud 에는 PEM 형식의 인증서가 필요합니다. 인증서가 PEM 형식인 경우 다음을 확인합니다.
CERTIFICATE_FILE
을 인증서 파일의 경로로 바꾸고 다음 OpenSSL 명령어를 사용하여 인증서의 유효성을 검사할 수 있습니다.
openssl x509 -in CERTIFICATE_FILE -text -noout
OpenSSL에서 인증서를 파싱할 수 없는 경우:
- 도움이 필요하면 CA에 문의하세요.
- 새 비공개 키 및 인증서를 만듭니다.
일반 이름 또는 주체 대체 이름 누락
Trusted Cloud 에는 인증서에 일반 이름(CN
) 또는 주체 대체 이름(SAN
) 속성이 있어야 합니다. 자세한 내용은 CSR 만들기를 참조하세요.
두 속성이 모두 없는 경우 자체 관리형 인증서를 만들려고 하면 Trusted Cloud 에 다음과 같은 오류 메시지가 나타납니다.
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The SSL certificate is missing a Common Name(CN) or Subject Alternative
Name(SAN).
비공개 키를 파싱할 수 없음
Trusted Cloud 에는 비공개 키 기준을 충족하는 PEM 형식의 비공개 키가 필요합니다.
다음 OpenSSL 명령어를 사용하여 비공개 키의 유효성을 검사할 수 있습니다. 이때 PRIVATE_KEY_FILE
을 비공개 키의 경로로 바꿉니다.
openssl rsa -in PRIVATE_KEY_FILE -check
다음 응답은 비공개 키에 문제가 있음을 나타냅니다.
unable to load Private Key
Expecting: ANY PRIVATE KEY
RSA key error: n does not equal p q
RSA key error: d e not congruent to 1
RSA key error: dmp1 not congruent to d
RSA key error: dmq1 not congruent to d
RSA key error: iqmp not inverse of q
이 문제를 해결하려면 새 비공개 키와 인증서를 만들어야 합니다.
암호가 포함된 비공개 키
OpenSSL에서 암호를 묻는 메시지가 표시되면 Trusted Cloud에서 암호를 사용하기 전에 비공개 키에서 암호를 삭제해야 합니다. 다음 OpenSSL 명령어를 사용할 수 있습니다.
openssl rsa -in PRIVATE_KEY_FILE \ -out REPLACEMENT_PRIVATE_KEY_FILE
자리표시자를 유효한 값으로 바꿉니다.
PRIVATE_KEY_FILE
: 암호로 보호되는 비공개 키의 경로REPLACEMENT_PRIVATE_KEY_FILE
: 일반 텍스트 비공개 키의 복사본을 저장할 경로
중간 인증서 만료
중간 인증서가 서버(리프) 인증서 전에 만료되면 CA가 권장사항을 따르지 않을 수 있습니다.
중간 인증서가 만료되면Trusted Cloud 에서 사용되는 리프 인증서가 무효화될 수 있습니다. 다음과 같이 SSL 클라이언트에 따라 달라집니다.
- 일부 SSL 클라이언트는 리프 인증서의 만료 시간만 확인하고 만료된 중간 인증서를 무시합니다.
- 일부 SSL 클라이언트는 만료된 중간 인증서가 있는 체인을 유효하지 않은 것으로 취급하고 경고를 표시합니다.
이 문제를 해결하려면 다음 안내를 따르세요.
- CA가 새 중간 인증서로 전환될 때까지 기다립니다.
- 새 인증서를 요청합니다.
- 새 키를 사용하여 새 인증서를 다시 업로드합니다.
또한 CA에서 중간 인증서의 교차 서명을 허용할 수도 있습니다. CA에 문의하여 확인합니다.
RSA 공개 지수가 너무 큼
RSA 공개 지수가 65537보다 크면 다음 오류 메시지가 표시됩니다. RFC 4871에 지정된 대로 65537
을 사용해야 합니다.
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The RSA public exponent is too large.
대상 프록시에서 SSL 인증서 삭제
다음 단계에서는 대상 https 프록시에 연결된 단일 SSL 인증서를 삭제하는 방법을 보여줍니다.
target-https-proxy를 임시 파일로 내보냅니다.
gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
/tmp/proxy
파일을 수정하고 다음 줄을 삭제합니다.sslCertificates: - https://www.googleapis.com/compute/v1/projects/...
/tmp/proxy
파일을 가져옵니다.gcloud compute target-https-proxies import TARGET_PROXY_NAME \ --source=/tmp/proxy
선택사항: SSL 인증서를 삭제합니다.
gcloud compute ssl-certificates delete SSL_CERT_NAME
다음을 바꿉니다.
TARGET_PROXY_NAME
: 대상 https 프록시 리소스의 이름SSL_CERT_NAME
: SSL 인증서의 이름