での SSL 証明書の処理方法 Selenium
SSL証明書 Selenium
SSL (Secure Sockets Layer) は、サーバーとブラウザであるクライアントとの間に安全な接続を確立するための標準セキュリティ プロトコルです。
SSL (Secure Socket Layer) 証明書は、強力な暗号化標準またはデジタル署名を使用して、サーバーとクライアント アプリケーション間でのデータの安全な変換を保証します。SSL 証明書またはコード署名証明書をインストールする必要があります。
SSL証明書のメリット
SSL 証明書を使用すると、次のような多くの利点があります。
- ビジネスの急速な成長を促進するために、ユーザーと顧客の信頼を高めることができます。
- これらの証明書は、オンライン取引やクレジット カード/デビットカード データなどの顧客の機密情報を保護するのに役立ちます。
- 署名証明書は、ダウンロード数が最大になり、ユーザーから良いレビューを得る傾向があります。
SSL で保護された Web サイトは次から始まります https://接続が安全に確立されている場合は、鍵のアイコンまたは緑色のアドレス バーが表示されます。
たとえば、ネットバンキングで取引をしたい場合や、商品を購入したい場合、 モバイル Flipkart などの電子商取引サイトを通じて電話をかけるか、 Amazon.
Web ブラウザとサーバーの間で何が起こるか
- ブラウザは、SSL で保護された Web サイトに接続しようとします。 ブラウザはウェブサーバーに自身を識別するよう要求します
- サーバーはブラウザにSSL証明書のコピーを送信します
- ブラウザは SSL 証明書が本物かどうかを検証します。 そうであれば、サーバーにメッセージを送信します
- サーバーはデジタル署名された確認応答を送り返し、SSL 暗号化セッションを開始します。
- 暗号化されたデータはサーバーとブラウザ間で共有されます
その際、クレジットカード番号やログイン認証情報などの機密情報を送信する必要があり、ハッキングや傍受されないように安全に送信する必要があります。
例えば、
- タイプ https://netbanking.hdfcbank.com/netbanking/ .
- Enterキーを押します。
- 以下のように、ブラウザに緑色のアドレス バーが表示されます。
SSL 証明書が安全な接続を確立する方法
- ブラウザ HTTPS リクエストをサーバーに送信します。
- ここで、サーバーは、ブラウザーが信頼されていることを証明するために、ブラウザーに何らかの ID を提供する必要があります。 これは、SSL 証明書のコピーをブラウザに送信することで実行できます。
- 各ブラウザには、信頼できる CA の独自のリストがあります。 ブラウザは、信頼できる CA のリストと照合して証明書のルートを確認し、証明書の有効期限が切れていないこと、取り消されていないこと、および接続先の Web サイトに対して共通名が有効であることを確認します。
- ブラウザが証明書を信頼すると、サーバーとブラウザの間に暗号化されたセッションが作成されます。
- サーバーとブラウザは暗号化されたメッセージを送信できます
SSL証明書のタイプ
ブラウザとサーバーは SSL 証明書メカニズムを使用して、安全な接続を確立できます。 この接続には、XNUMX 種類の証明書の検証が含まれます。
- ルート
- 中級
- サーバー証明書
SSL証明書取得の流れ
SSL 証明書を取得するプロセスには以下の手順が含まれます:-
- まず、CSR (証明書署名要求の作成) リクエストを作成する必要があります。
- CSR リクエストにより CSR データ ファイルが作成され、CA (認証局) と呼ばれる SSL 証明書発行者に送信されます。
- CA は CSR データ ファイルを使用してサーバーの SSL 証明書を作成します。
- SSL 証明書を受け取ったら、それをサーバーにインストールする必要があります。
- SSL 証明書と CA のルート証明書を結び付ける中間証明書もインストールする必要があります。
下の画像は XNUMX つの証明書すべてを表しています。 ルート証明書、中間証明書、およびサーバー証明書。
SSL証明書の検証方法
SSL は、Web サーバー コンピュータと Web サーバー ブラウザに存在するプログラムと暗号化/復号化ルーチンの組み合わせによって機能します。
SSL証明書には基本的に以下の情報が含まれます。
- Web サイト所有者の ID である件名。
- 有効性情報 - 公開キーと秘密キー。
秘密鍵と公開鍵は、2 つの固有に関連した暗号化キー (数字) です。公開鍵で暗号化されたものは、秘密鍵でのみ復号化できます。
証明書によりサーバーとクライアント間で安全な接続が確立されない場合、次の SSL 証明書エラーが発生します。
SSL証明書エラーの種類
ブラウザに https リクエストを入力すると、使用しているブラウザに応じて、「この接続は信頼できません」または「サイトのセキュリティ証明書は信頼できません」などのメッセージが表示されたとします。 このようなエラーは、SSL 証明書エラーの対象となります。
ここで、ブラウザが要求された証明書との安全な接続を確立できない場合、ブラウザは以下のように「信頼できない接続」例外をスローし、ユーザーに適切なアクションを実行するよう求めます。
さまざまなブラウザで証明書が原因で発生する可能性のあるエラーの種類は、次のようなものです。
- 火災Fox – この接続は信頼できません
- Google Chrome -このサイトのセキュリティは信頼できません
- インターネットエクスプローラー(IE) – この Web サイトによって提示されたこのセキュリティ証明書は、信頼された認証局 (CA) によって信頼されていませんでした。
を使用して SSL 証明書エラーを処理する方法 Selenium ウェブドライバー
いくつかのテスト スクリプトを作成し、そのスクリプトの実行中に上記の「信頼できない接続」の状況に陥ったと仮定します。純粋に自動化を通じて例外を処理するにはどうすればよいでしょうか。
このような場合は、SSL 例外を単独で処理できるようにスクリプトを調整する必要があります。
使用しているブラウザ インスタンスのタイプに応じてスクリプトを変更する必要があります。 これらの機能は、必要なときに役立ちます。
Desired Capabilities は、ドライバー インスタンスを構成するために使用されます。 Selenium ウェブドライバー。 Desired Capabilities を通じて、ChromeDriver などのすべてのドライバー インスタンスを構成できます。 Firefoxドライバーと Internet Explorer。
現時点では、上記のシナリオを作成するための特定の URL はありませんが、 Selenium 上記の状況「信頼できない接続」を処理するスクリプト。
での SSL 証明書エラー処理 Firefox
でのSSL証明書エラーの処理用 Firefox、必要な機能を使用する必要があります Selenium Webdriver をインストールし、次の手順に従います。
ステップ1) まず、新しいFirefoxプロファイルを作成する必要があります。私のプロフィール「。Firefox プロファイルの作成方法」については、Google を参照してください。シンプルで簡単です。
ステップ2) 次に、以下のようにスクリプトで myProfile にアクセスし、 Firefoxプロファイルオブジェクト。
ProfilesIni prof = new ProfilesIni() FirefoxProfile ffProfile= prof.getProfile ("myProfile")
ステップ3) 次に、「」を設定する必要がありますsetAcceptUntrustedCertificates"と"setAssumeUntrustedCertificateIssuer火災の物件 Fox プロフィール。
ffProfile.setAcceptUntrustedCertificates(true) ffProfile.setAssumeUntrustedCertificateIssuer(false)
ステップ4) 火を使ってFox ファイアーのプロフィールFox ドライバーオブジェクト。
WebDriver driver = new FirefoxDriver (ffProfile)
注意: 「setAcceptUntrustedCertificates」および「setAssumeUntrustedCertificateIssuer」「 Web ブラウザで証明書エラーを処理する機能です。
Chrome での SSL 証明書エラー処理
Chrome で SSL エラーを処理するには、必要な機能を使用する必要があります。 Selenium ウェブドライバー。以下のコードは、Chrome ですべての SSL 証明書を受け入れるのに役立ち、このコードを使用すると、ユーザーは SSL 証明書関連のエラーを受け取りません。
以下のように DesiredCapabilities クラスのインスタンスを作成する必要があります:-
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome () handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true) WebDriver driver = new ChromeDriver (handlSSLErr);
IE での SSL 証明書エラー処理
Chrome ブラウザでの SSL 証明書の処理とは異なり、 Firefox, IE では、JavaScript を使用して処理する必要がある場合があります。
IE で SSL 証明書を処理するには、次の XNUMX つの方法でこの状況に対処できます。
- ここで、リンク「」をクリックします。この Web サイトに進んでください (推奨されません)」。 以下では、IE で SSL エラーを処理する方法について説明します。
IE ブラウザで SSL 証明書エラーを観察すると、「この Web サイトにアクセスする (推奨されません)」リンクが表示されます。このリンクには「オーバーライド リンク」という ID があります。F12 を使用して HTML モードで ID を表示できます。
driver.navigate() メソッドを使用してリンクをクリックします。 Javaスクリプト 以下のように :-
driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
- XNUMX 番目の方法は、Chrome の SSL 処理コードに非常によく似ています。
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); System.setProperty("webdriver.ie.driver","IEDriverServer.exe"); WebDriver driver = new InternetExplorerDriver(capabilities);
上記のコードは、IE での SSL 証明書エラーの処理に役立ちます。
概要
- SSL (Secure Sockets Layer) は、サーバーとクライアントの間に安全な接続を確立するための標準セキュリティ プロトコルです。
- ブラウザとサーバーは SSL 証明書メカニズムを使用して、安全な接続を確立できます。
- SSL は、Web サーバー コンピュータと Web サーバー ブラウザに存在するプログラムと暗号化/復号化ルーチンの組み合わせによって機能します。
- 証明書によってサーバーとクライアントの間で安全な接続が確立されない場合、SSL 証明書エラーが発生します
- SSL 例外/エラーを単独で処理できるようにスクリプトを調整する必要があります。 Selenium ウェブドライバー。