SSL 및 hpux의 wget, cur 및 https와 같은 프로그램

SSL 및 hpux의 wget, cur 및 https와 같은 프로그램

간단한 질문: https를 사용할 수 있는 모든 프로그램(wget, 컬 등)은 Linux에서 완벽하게 작동하지만 hpux에서는 형편없습니다. 다음을 사용하여 이 예제를 참조하세요.https://google.com

리눅스에서

wget https://www.google.com/
--2018-12-04 16:47:27--  https://www.google.com/
Resolving www.google.com... 64.233.166.99, 64.233.166.106, 64.233.166.105, ...
Connecting to www.google.com|64.233.166.99|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'index.html'

index.html                      [ <=>                                              ]  11.78K  --.-KB/s    in 0.01s   

2018-12-04 16:47:27 (949 KB/s) - 'index.html' saved [12063]

파일을 받았어요

HP-UX에서

wget https://www.google.com/
--2018-12-04 16:48:46--  https://www.google.com/
Resolving www.google.com (www.google.com)... 64.233.166.99, 64.233.166.106, 64.233.166.105, ...
Connecting to www.google.com (www.google.com)|64.233.166.99|:443... connected.
ERROR: The certificate of 'www.google.com' is not trusted.
ERROR: The certificate of 'www.google.com' doesn't have a known issuer.
ERROR: The certificate of 'www.google.com' was signed using an insecure algorithm.

나는 아무것도 얻지 못했습니다.

나는 명령을 실행한다

c_rehash

그리고

/usr/local/bin/c_reash

그러나 아무것도 변하지 않습니다.

답변1

배경

Linux에서는 사용 중인 Linux 배포판에 따라 기본적으로 신뢰할 수 있는 최신 루트 인증서 세트가 일반적으로 /etc/ssl/certs/디렉터리나 파일에 있을 수 있습니다./etc/pki/tls/certs/ca-bundle.crt

HP-UX에서 동등한 디렉토리는 OpenSSL의 HPe 제공 버전을 사용하는지 아니면 타사 버전을 사용하는지에 따라 /opt/openssl/certs/또는 가 될 수 있습니다./usr/local/etc/ssl/certs

많은 Linux 배포판에서는 Mozilla Firefox 브라우저의 인증서와 동일한 신뢰할 수 있는 루트 인증서 세트를 사용할 것이라고 생각합니다.

HP-UX에서는 신뢰할 수 있는 루트 인증서의 기본 세트가 훨씬 작을 수 있고 운영 체제에 일부 중앙 인터넷 저장소에서 자동으로 업데이트를 제공하는 도구가 포함되어 있지 않기 때문에 신뢰할 수 있는 루트 인증서 세트가 오래되었을 수 있습니다. 패치 액세스에는 지원되는 프로토콜이 필요함) 또한 HP에서 제공하지 않는 OpenSSL 버전을 사용하고 있을 수도 있습니다.

c_rehash명령은 인증서를 자동으로 갱신하지 않습니다.오직현재 디렉터리(또는 지정된 디렉터리)의 단일 파일에서 SSL 인증서를 검색하고 는 인증서의 8자리 16진수 해시이고 D는 10진수(보통 0) HHHHHHHH.D와 유사한 이름을 가진 해당 심볼릭 링크를 생성/업데이트합니다. HHHHHHHH하지만 동일한 해시를 가진 인증서가 여러 개 있는 경우 증가합니다. OpenSSL은 이러한 링크를 사용하여 디렉터리의 모든 파일을 검색하거나 파일에서 연결된 모든 인증서를 검색하는 것보다 더 빠르게 올바른 루트 인증서를 찾습니다 ca-bundle.crt.

c_rehash인증서가 포함되지 않은 디렉터리에서 실행하면 아무 작업도 수행되지 않습니다 . 인증서가 포함된 디렉터리에서 실행하지만 OpenSSL이 신뢰할 수 있는 인증서를 검색하도록 구성된 디렉터리가 아닌 경우 생성되는 링크는 그다지 유용하지 않습니다.

수리하다

적절한 루트 인증서를 식별하기 위해 사용 중인 TLS/SSL 서비스의 인증서를 확인한 다음 해당 루트 인증서의 공개 부분을 얻는 방법을 찾아야 합니다(예: 웹 브라우저의 인증서 저장소에서 내보내기). 또는 이미 좋은 루트 인증서 세트가 있는 웹 브라우저를 사용하여 보안 웹 페이지에서 다운로드합니다. 예를 들어 Google의 루트 인증서여기에서 찾을 수 있습니다.

필요한 루트 인증서를 얻은 후에는 애플리케이션에서 사용 중인 OpenSSL 버전(예: )을 확인해야 합니다 ldd $(which wget) | grep ssl. 일반적인 선택은 HP의 OpenSSL이며 일반적으로 다음에서 사용할 수 있습니다 /opt.HP-UX 마이그레이션 및 보관 센터/usr/local정말 오래된 버전이 아닌 이상, 대개는 아래 버전입니다.

그런 다음 인증서를 적절한 디렉토리에 놓고 실행하십시오.c_rehash 이 특정 디렉토리에 대해.

관련 정보