web-dev-qa-db-ja.com

PFX証明書でCisco AnyConnectを使用しているときの証明書検証の失敗

Cisco anyconnectセキュアモバイルクライアント4.2.01022(および必要なすべてのパッケージ)をインストールしました。

次に、.pfx証明書をgnone2-keyストレージに追加しました。

次に、接続先を入力したCisco anyconnectセキュアモバイルクライアントを起動しましたが、Ciscoは私にCertificate validation failureと言い続けています

これを試しました:

Sudo cp /etc/ssl/certs/Global* /opt/.Cisco/certificates/ca

リンクが作成されましたが、役に立ちませんでした。接続するには?

UPD:

このようにして、いくつかの証明書をさまざまな形式で抽出しました。

openssl pkcs12 -in store.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in store.pfx -nocerts -nodes  -out domain.key
openssl pkcs12 -in store.pfx -out domain.crt -nodes -nokeys -cacerts
openssl pkcs12 -in  store.pfx  -nocerts -out domain.pem -nodes

4つのファイルを取得:

domain.cer
domain.key
domain.crt
domain.pem

それらの4つすべてを3つの異なる場所に配置しました。

~/.Cisco/certificates/ca ~

信頼できるCAとルート証明書

~/.Cisco/certificates/client

クライアント証明書

~/.Cisco/certificates/client/private

秘密鍵

同じエラー。

UPD2:openconnect(linuxネットワークセンターに統合されています)と互換性のあるCisco anyconnectを構成しようとしました:次の設定を求められます:

CA certificate (it has to be domain.crt, so chosen it)
User certificate  (that is it? - didnt choose)
Private key  (I think its domain.key, so chosen it)

しかし、接続しようとすると:

Certificate from VPN server [Host ip] failed verification.
Reason: certificate does not match hostname
Do you want to accept it?

    Certificate from VPN server "194.176.96.4" failed verification.
    Reason: certificate does not match hostname
    Do you want to accept it?

With below info:
X.509 Certificate Information:
    Version: 3
    Serial Number (hex): ****
    Issuer: C=US,O=DigiCert Inc,OU=www.digicert.com,CN=GeoTrust RSA CA 2018
    Validity:
       Not Before: **
        Not After: **
    Subject: C=RU,ST=[city],L=[city],O=[company name],OU=IT,CN=vpn.[companyname].ru
    Subject Public Key Algorithm: RSA
    Algorithm Security Level: Medium (2048 bits)
....

同意します-同じエラー証明書の検証エラー、完全なログ:

POST https://[Host_name]/
Attempting to connect to server [Host_name]:443
SSL negotiation with [Host_name]
Server certificate verify failed: certificate does not match hostname
Connected to HTTPS on [Host_name]
Got HTTP response: HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Cache-Control: no-cache
Pragma: no-cache
Connection: Keep-Alive
Date: Sun, 26 Aug 2018 08:43:32 GMT
X-Frame-Options: SAMEORIGIN
X-Aggregate-Auth: 1
HTTP body chunked (-2)
Server requested SSL client certificate; none was configured
POST https://[Host_name]/
Got HTTP response: HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Cache-Control: no-cache
Pragma: no-cache
Connection: Keep-Alive
Date: Sun, 26 Aug 2018 08:43:32 GMT
X-Frame-Options: SAMEORIGIN
X-Aggregate-Auth: 1
HTTP body chunked (-2)
XML POST enabled

PS:Windowsで同じ手順が機能し、ダブルクリックして証明書を追加し、Ciscoクライアントを起動し、サーバーと入力すると、サーバーにパスワードを要求しました。

2
Rocketq

Openconnectを使用できます。

  • インストールしてください:

Sudo apt-get install network-manager-openconnect-gnome

  • 変換.pfx証明書を.pem

openssl pkcs12 -in file.pfx -out file.pem -nodes

  • GNOME/KDEでSettings> Networkメニューを開きます。標準のVPN設定では、Cisco AnyConnect Compatible VPNアイテム: ネットワークメニュー
1
Dmitry Romashov

AnyConnectは、認証のためにPEM形式のクライアント証明書をサポートしています。 Linuxプラットフォームのクライアント証明書を構成する方法については、 管理者ガイド を確認してください。クライアント証明書をフォルダー~/.Cisco/certificates/clientに、秘密鍵を~/.Cisco/certificates/client/privateにコピーします。また-

  • すべての証明書ファイルは、拡張子.pemで終わる必要があります。
  • すべての秘密鍵ファイルは、拡張子.keyで終わる必要があります。
  • クライアント証明書とそれに対応する秘密鍵のファイル名は同じでなければなりません。例:client.pemおよびclient.key。
1
Mahesh

AnyConnectのモバイルバージョンを使用しているかどうかはわかりませんが、同様の問題がありました。私のOSはFedora 29です。接続しようとしているVPNは、ブラウザーの信頼できる証明書を使用していますが、インストールしたAnyconnectのバージョンにバンドルされているものは使用していません。

その包み ca-certificatesはすでに私のOSにインストールされており、必要な証明書が同梱されているため、シンボリックリンクされた/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pemから/opt/.Cisco/certificates/ca

0
Andrew