- 문제: 신뢰할 수 없는 CA 또는 자체 서명된 인증서 사용
수정: Webhook 콜백 서버에 대한 공개 CA 발급 SSL 인증서를 사용합니다.
새로운 기능
시작하기
관리
계약 전송, 서명 및 관리
고급 계약 기능 및 워크플로우
다른 제품과 통합
Acrobat Sign 개발자
지원 및 문제 해결
클라이언트측 SSL 또는 상호 TLS라고도 하는 양방향 SSL은 서버 및 클라이언트(웹 브라우저)가 모두 자신을 식별하기 위한 인증서를 제공하는 SSL 모드입니다.
계정 관리자는 보안 설정 페이지에서 클라이언트측 인증서를 구성할 수 있습니다.
Acrobat Sign은 페이로드를 Webhook URL로 전달할 때 SSL 인증서를 확인합니다. SSL 인증서 확인에 실패한 Webhook은 JSON 페이로드를 성공적으로 전달하지 않습니다.
양방향 SSL을 사용하여 클라이언트(Acrobat Sign) 및 수신 대기 서비스를 인증하면 Acrobat Sign만 Webhook URL에 연결할 수 있습니다.
파트너 애플리케이션에 의해 생성된 Webhook은 Webhook 알림을 전송할 때 파트너 애플리케이션 계정의 클라이언트 인증서(사용 가능한 경우)를 사용하여 자체 식별합니다.
다음은 웹 서버 확인 프로세스와 클라이언트 인증 확인에 대한 가장 일반적인 질문입니다.
Webhook을 등록하는 동안 Acrobat Sign은 Webhook 서버 URL을 확인합니다.
Acrobat Sign에서 Webhook 콜백 URL에 대한 연결을 완료할 수 없는 경우 고객은 Webhook를 등록할 수 없습니다.
아니요.
Webhook 콜백 URL은 포트 443 또는 8443의 HTTPS만 가능합니다.
Acrobat Sign은 모든 다른 포트로 가는 아웃바운드 HTTPS 트래픽을 차단합니다.
서버 인증서를 확인하는 좋은 방법은 DigiCert® SSL 설치 진단 도구를 사용하는 것입니다.
호스트 이름만 입력합니다. 예: www.digicert.com
일반적인 문제는 다음과 같습니다.
수정: Webhook 콜백 서버에 대한 공개 CA 발급 SSL 인증서를 사용합니다.
수정: Webhook 콜백 서버에 중간 인증서를 설치합니다.
자세한 내용은 https://www.digicert.com/kb/ssl-certificate-installation.htm을 참조하십시오.
Webhook에 대해 양방향 SSL을 설정하려면 관리자가 개인 키가 포함된 .p12(또는 .pfx) 파일을 업로드해야 합니다. 파일은 고객 계정 내에 안전하게 저장되며 관리자가 언제든 제거할 수 있는 모든 권한을 갖습니다.
양방향 Webhook 설정에서, Acrobat Sign은 발신자/클라이언트이며, 고객 계정을 대신하여 Acrobat Sign이 호출하는 것임을 증명하기 위해 개인 키가 필요합니다.
양방향 SSL이 활성화되었는지 확인
Webhook 콜백 서버에 양방향 SSL이 활성화되어야 합니다.
웹 브라우저를 사용하여 Webhook 콜백 URL에 연결합니다. 다음 메시지가 표시됩니다.
400 잘못된 요청 필수 SSL 인증서가 전송되지 않았습니다.
즉, 서버는 클라이언트가 클라이언트 인증서를 보낼 것으로 예상한다는 뜻입니다(양방향 SSL이 서버에 대해 활성화됨).
위의 메시지가 표시되지 않으면 양방향 SSL이 활성화되지 않은 것입니다.
Postman을 사용하여 Webhook 콜백 URL에 대한 POST 요청을 수행할 수 있습니다. 비슷한 결과를 얻게 됩니다.
클라이언트 자격 증명은 자체 서명된 인증서 또는 CA 발급 인증서일 수 있습니다. 단, 최소한 다음 X.509 v3 확장을 준수해야 합니다.
X.509 v3 확장 |
값 |
---|---|
ExtendedKeyUsage |
clientAuth(OID: 1.3.6.1.5.5.7.3.2) |
KeyUsage |
digitalSignature |
클라이언트 인증서는 확장명이 .p12 또는 .pfx인 PKCS12 파일이어야 하며 클라이언트 인증서(서버가 클라이언트의 신원을 확인할 수 있도록)와 클라이언트의 개인 키(클라이언트가 SSL 핸드셰이크 중에 서버가 확인할 메시지에 디지털 서명할 수 있도록)를 모두 포함해야 합니다.
openssl 명령을 사용하여 p12(pfx) 파일을 확인:
openssl pkcs12 -info -in outfile.p12
개인 키의 암호를 요청해야 합니다. 출력에는 다음과 같이 두 인증서와 암호화된 개인 키가 모두 포함되어야 합니다.
Bag Attributes localKeyID: 9D BD 22 80 E7 B2 B7 58 9E AE C8 42 71 F0 39 E1 E7 2B 57 DB subject=/C=US/ST=California/L=San Jose/O=Adobe Inc./CN=sp.adobesignpreview.com issuer=/C=US/O=DigiCert Inc/CN=DigiCert TLS RSA SHA256 2020 CA1 -----BEGIN CERTIFICATE----- MIIGwDCCBaigAwIBAgIQAhJSKDdyQZjlbYO5MJAYOTANBgkqhkiG9w0BAQsFADBP MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMSkwJwYDVQQDEyBE ... JAKQLQ== -----END CERTIFICATE----- Bag Attributes: <No Attributes> subject=/C=US/O=DigiCert Inc/CN=DigiCert TLS RSA SHA256 2020 CA1 issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA -----BEGIN CERTIFICATE----- MIIEvjCCA6agAwIBAgIQBtjZBNVYQ0b2ii+nVCJ+xDANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 ... -----END CERTIFICATE----- Bag Attributes localKeyID: 9D BD 22 80 E7 B2 B7 58 9E AE C8 42 71 F0 39 E1 E7 2B 57 DB Key Attributes: <No Attributes> -----BEGIN ENCRYPTED PRIVATE KEY----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI7eNh2qlsLPkCAggA ... FHE= -----END ENCRYPTED PRIVATE KEY-----
인증서에는 최소 최종 엔터티 인증서 및 중간 인증서가 포함되어야 합니다. 루트 CA 인증서도 포함하는 것이 좋습니다.
.p12 또는 .pfx 파일이 암호로 보호되어 있는지 확인합니다.
자체 서명된 클라이언트 인증서 만들기(선택 사항)
클라이언트 인증서는 필요에 따라 CA 발급이거나 자체 서명일 수 있습니다.
자체 서명된 클라이언트 인증서를 생성하려면 다음 openssl 명령을 사용합니다.
openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer
결과 파일은 자체 서명된 CA 인증서이므로 기밀 상태로 유지합니다.
다음으로 클라이언트 .p12 파일을 생성:
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.req
openssl x509 -req -in client.req -CA ca.cer -CAkey ca.key -set_serial 101 -extensions client -days 365 -outform PEM -out client.cer
openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
rm client.key client.cer client.req
Postman에서 내 PFX 파일을 확인 받은 후에도 Acrobat Sign에서 파일을 거부하는 이유는 무엇입니까?
위의 pfx 파일 확인 프로세스를 따랐는데도 Acrobat Sign에서 pfx 파일을 계속 거부하면 비표준 PKCS12 파일을 생성할 수 있는 Microsoft 도구로 파일이 생성되었기 때문일 수 있습니다.
이 경우 아래 openssl 명령을 사용하여 pfx 파일에서 인증서 및 개인 키를 추출한 다음, 올바른 형식의 PKCS12 파일을 생성합니다.
// pfx 파일에서 인증서 및 개인 키 추출 openssl pkcs12 -info -in microsoftclientssl.pfx -passin pass:"" -out clientcert.crt -nokeys openssl pkcs12 -info -in microsoftclientssl.pfx -passin pass:"" -out clientcert.key -nodes -nocerts // 새 PKCS12 파일 생성 openssl pkcs12 -export -inkey clientcert.key -in clientcert.crt -out clientcert.pfx