SSLやhpuxのwget、cur、httpsなどのプログラム

SSLやhpuxのwget、cur、httpsなどのプログラム

簡単な質問:httpsを使用できるすべてのプログラム(wget、curlなど)はLinuxで完全に動作しますが、hpuxでは不便です。以下を使用してこの例を参照してください。https://google.com

Linuxで

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サービスの証明書を確認し、そのルート証明書の公開部分を取得する方法を見つける必要があります(たとえば、Webブラウザの証明書ストアからエクスポート)。または、既に良いルート証明書セットを持つWebブラウザを使用して安全なWebページからダウンロードします。たとえば、Google のルート証明書ここで見つけることができます。

必要なルート証明書を取得したら、アプリケーションで使用されているOpenSSLのバージョン(たとえば)を確認する必要がありますldd $(which wget) | grep ssl。一般的な選択はHPのOpenSSLであり、通常は次のように使用できます/optHP-UX移行およびアーカイブセンター/usr/local本当に古いバージョンではない限り、通常は以下のバージョンです。

次に、証明書を適切なディレクトリに配置して実行します。c_rehash この特定のディレクトリについて

おすすめ記事