TLS 인증서는 Ubuntu 18.04에서는 작동하지만 Centos 7.6에서는 작동하지 않습니다.

TLS 인증서는 Ubuntu 18.04에서는 작동하지만 Centos 7.6에서는 작동하지 않습니다.

일부 외부 서버에 내 신원을 인증하는 키 세트가 있습니다. 다들 하나씩 써요루트 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에는 답변 중 하나에서 읽은 키 비밀번호와 같은 몇 가지 다른 설정 및 요구 사항이 있습니까? 우분투에서와 동일하게 만들려면 어떻게 해야 합니까?

관련 정보