2016-07-12 115 views
6

答えに基づいてすべてのjsonファイルの可能なすべてのキーを調べたところ、Python Selenium - What are possible keys in FireFox webdriver profile preferencesにクライアント証明書を指定するキーが見つかりませんでした私のSSL接続で使用します。Python Selenium - クライアントSSL認証で使用するクライアント証明書を指定する方法

私はこれについて研究しましたが、正確な答えが見つかりませんでした。 How to import SSL certificates for Firefox with Selenium [in Python]?の答えに基づいてFireFoxプロファイルに証明書を追加する必要があることがわかりましたが、私はここでうんざりしています。この証明書をどのくらい追加する必要があるのか​​分かりません。

私はサーバーの証明書を信頼しているわけではありません。デフォルトでは、SSL接続を開始すると、ワークステーションに割り当てられているローカル証明書がクライアント証明書として使用されます。ここでは、SSL接続に新しい証明書/秘密鍵のペアを使用する必要があります。 SSLでクライアント認証をテストするには、これを行う必要があります。

ので、要約すると、私はこのようになり、いくつかの設定を探しています

:私は微調整する必要がありますが、証明書を追加する方法がわからない何であるかもしれないファイルのカップルを見つけ

profile.add_client_cert(path_to_cert) 
profile.add_private_key(path_to_private_key) 

とこれらのファイルのキーは、 cert8.dbkey3.dbです。これらのファイルは、FireFoxのプロファイルディレクトリにあります。

私はセレンのソースコードを検索するが、答えを見つけることができませんでした: https://github.com/SeleniumHQ/selenium/search?utf8=%E2%9C%93&q=cert

答えて

-2

私はsource codeで見ることができるように、あなたはパラメータ(profile_directory)とFirefoxのプロファイルを作成することができますし、Firefoxを使用して起動を取得指定されたプロファイルあなたはまた、嗜好profile.accept_untrusted_certs = Trueを設定するかもしれないと思います。

与えられたプロファイルディレクトリには、クライアント証明書が用意されている必要があります。

# Prepared Firefox profile directory 
profile = FirefoxProfile(profile_diretory) 

profile.set_preference("security.default_personal_cert", "Select Automatically") 
profile.set_preference("webdriver_accept_untrusted_certs", True) 
self.driver = WebDriver(firefox_profile=profile) 
+0

はい@LittleQですが、質問はまだ残っていますが、プロファイルで自分の証明書とキーを使用するようにするステートメントは何ですか? 'profile.add_client_cert(path_to_cert)'のようなステートメントがありますか?また、 'profile。 accept_untrusted_certs = True'は、クライアントがサーバーの証明書を信頼できるようにします。クライアント証明書とは関係ありません。 – gixxer

+0

@gixxer与えられたプロファイルディレクトリには、クライアント証明書が用意されている必要があります(つまり、 'cert8.db'と' key3.db'が含まれています)。 – LittleQ

+0

こんにちは、 "自動的に選択する"、(存在する場合は多くの)クライアント証明書が自動的に選択されますが、私はそれを理解しています。問題は、どのように特定の証明書を使用するのですか。言い換えれば、cert8.dbがクライアント証明書のデータベースであれば、それは自分の特定のクライアント証明書のみを持つべきです。どうすればいいですか? – gixxer

関連する問題