일부 외부 서버에 내 신원을 인증하는 키 세트가 있습니다. 다들 하나씩 써요루트 CA이 소프트웨어는 일반 배포판에는 설치되지 않습니다.
외부 서버가 응답하는지 확인하기 위해 Docker 이미지를 사용하고 있습니다.
이것은 GitLab CI 스크립트에 있으므로 형식을 유지하겠습니다.
CPI avail Ubuntu:
stage: checkCpiAvailability
image: ubuntu:18.04
script:
- apt update
- apt install -y curl wget unzip openssl openssh-client
- openssl version
- test/bench/curl/curlRequest.sh
컬 명령:
curl -v \
--cacert "$SCRIPT_DIR/target/....crt" \
--key "$SCRIPT_DIR/target/temp.$KEY_FILENAME.private.key" \
--cert "$SCRIPT_DIR/target/temp.$KEY_FILENAME.client.crt:$KEY_PASS2" \
--header "Content-Type: application/soap+xml; charset=utf-8" \
--data "@$SCRIPT_DIR/../soapSamples/queryRequest-sampleFromSpec.xml" \
"$SERVICE_URL" \
Ubuntu 이미지를 사용하여 이 작업을 수행하면 작동합니다.
하지만 Centos 7 이미지로 동일한 작업을 수행하면 실패합니다.
CPI avail Centos7:
stage: checkCpiAvailability
image: centos:7
script:
- yum -y update
- yum -y install curl wget unzip openssl openssh-clients
- openssl version
- test/bench/curl/curlRequest.sh
에러 메시지:
* unable to load client key: -8178 (SEC_ERROR_BAD_KEY)
* NSS error -8178 (SEC_ERROR_BAD_KEY)
* Peer's public key is invalid.
* Closing connection 0
curl: (58) unable to load client key: -8178 (SEC_ERROR_BAD_KEY)
이 오류를 해결하기 위해 SO에 대한 몇 가지 질문이 있지만 Ubuntu 이미지를 사용하는 경우 내 잘못인지 궁금합니다.
추가로 설치해야 하는 것이 있나요? 아니면 Centos에는 답변 중 하나에서 읽은 키 비밀번호와 같은 몇 가지 다른 설정 및 요구 사항이 있습니까? 우분투에서와 동일하게 만들려면 어떻게 해야 합니까?