SSL 인증서를 처리하는 방법 Selenium

SSL 인증서 Selenium

SSL(Secure Sockets Layer)은 서버와 브라우저인 클라이언트 사이에 보안 연결을 설정하기 위한 표준 보안 프로토콜입니다.

SSL(Secure Socket Layer) 인증서는 강력한 암호화 표준 또는 디지털 서명을 사용하여 서버 및 클라이언트 애플리케이션에서 데이터의 안전한 변환을 보장합니다. SSL 인증서 또는 코드 서명 인증서를 설치해야 합니다.

SSL 인증서의 장점

SSL 인증서를 사용하면 다음과 같은 여러 가지 이점이 있습니다.

  • 비즈니스의 빠른 성장을 위해서는 사용자와 고객의 신뢰를 높일 수 있습니다.
  • 이러한 인증서는 온라인 거래와 신용카드/직불카드 데이터 등과 같은 고객의 민감한 정보를 보호하는 데 도움이 됩니다.
  • 서명 인증서는 사용자로부터 최대 다운로드 수와 좋은 리뷰를 얻는 경향이 있습니다.

SSL 보안 웹사이트는 다음과 같이 시작됩니다. https://연결이 안전하게 이루어지면 자물쇠 아이콘이나 녹색 주소 표시줄이 표시됩니다.

예를 들어, 인터넷 뱅킹을 통해 거래를 하고 싶거나 상품을 구매하려는 경우 모바일 플립카트 등 전자상거래 사이트를 통해 전화하거나 Amazon.

웹 브라우저와 서버 사이에서 일어나는 일

  1. 브라우저가 SSL로 보호된 웹사이트에 연결을 시도합니다. 브라우저는 웹서버에게 자신을 식별하도록 요청합니다.
  2. 서버는 브라우저에 SSL 인증서 사본을 보냅니다.
  3. 브라우저는 SSL 인증서가 정품인지 확인합니다. 그렇다면 서버에 메시지를 보냅니다.
  4. 서버는 SSL 암호화 세션을 시작하기 위해 디지털 서명된 승인을 다시 보냅니다.
  5. 암호화된 데이터는 서버와 브라우저 간에 공유됩니다.

이를 위해서는 신용카드 번호나 로그인 인증 정보와 같은 민감한 정보를 전송해야 하며, 해당 정보는 해킹이나 가로채기가 불가능하도록 안전하게 전송되어야 합니다.

예를 들어

  1. 타입 https://netbanking.hdfcbank.com/netbanking/ .
  2. Enter 키를 누르십시오.
  3. 아래와 같이 브라우저에 녹색 주소 표시줄이 표시됩니다.

SSL 인증서의 이점

SSL 인증서는 어떻게 보안 연결을 생성합니까?

SSL 인증서 보안 연결 생성

  1. Browser 서버에 HTTPS 요청을 보냅니다.
  2. 이제 서버는 신뢰할 수 있음을 증명하기 위해 브라우저에 몇 가지 식별 정보를 제공해야 합니다. SSL 인증서 사본을 브라우저에 보내면 됩니다.
  3. 각 브라우저에는 신뢰할 수 있는 CA의 자체 목록이 있습니다. 브라우저는 신뢰할 수 있는 CA 목록과 비교하여 인증서 루트를 확인하고 인증서가 만료되지 않았는지, 취소되지 않았는지, 일반 이름이 연결 중인 웹 사이트에 유효한지 확인합니다.
  4. 브라우저가 인증서를 신뢰하면 서버와 브라우저 사이에 암호화된 세션이 생성됩니다.
  5. 서버와 브라우저는 암호화된 메시지를 보낼 수 있습니다

SSL 인증서 유형

브라우저와 서버는 SSL 인증서 메커니즘을 사용하여 보안 연결을 설정할 수 있습니다. 이 연결에는 세 가지 유형의 인증서 확인이 포함됩니다.

  • 뿌리
  • 중간의
  • 서버 인증서

SSL 인증서를 얻는 과정

SSL 인증서를 얻는 과정에는 다음 단계가 포함됩니다.

  1. 먼저 CSR(인증서 서명 요청 생성) 요청을 생성해야 합니다.
  2. CSR 요청은 CA(인증 기관)로 알려진 SSL 인증서 발급자에게 전송되는 CSR 데이터 파일을 생성합니다.
  3. CA는 CSR 데이터 파일을 사용하여 서버에 대한 SSL 인증서를 생성합니다.
  4. SSL 인증서를 받은 후 서버에 설치해야 합니다.
  5. SSL 인증서를 CA의 루트 인증서와 연결하는 중간 인증서도 설치해야 합니다.

아래 이미지는 세 가지 인증서를 모두 나타냅니다. 루트, 중간 및 서버 인증서.

SSL 인증서를 얻는 과정

SSL 인증서를 확인하는 방법

SSL은 웹 서버 컴퓨터와 웹 서버 브라우저에 존재하는 프로그램과 암호화/복호화 루틴의 조합을 통해 작동합니다.

SSL 인증서에는 기본적으로 아래와 같은 정보가 포함되어 있습니다.

  1. 웹사이트 소유자의 신원을 나타내는 제목입니다.
  2. 유효성 정보 - 공개 키와 개인 키.

개인 키와 공개 키는 두 개의 고유하게 관련된 암호화 키(숫자)입니다. 공개 키로 암호화된 것은 개인 키로만 해독할 수 있습니다.

SSL 인증서가 확인되었습니다

인증서로 인해 서버와 클라이언트 간에 보안 연결이 설정되지 않은 경우, 다음과 같은 SSL 인증서 오류가 발생합니다.

SSL 인증서 오류 유형

브라우저에 https 요청을 입력하고 사용 중인 브라우저에 따라 "이 연결은 신뢰할 수 없습니다" 또는 "사이트의 보안 인증서를 신뢰할 수 없습니다"와 같은 메시지를 받았다고 가정해 보겠습니다. 그런 다음 해당 오류는 SSL 인증서 오류의 대상이 됩니다.

이제 브라우저가 요청한 인증서로 보안 연결을 설정할 수 없는 경우 브라우저는 아래와 같이 "신뢰할 수 없는 연결" 예외를 발생시키고 사용자에게 적절한 조치를 취하도록 요청합니다.

다른 브라우저의 인증서로 인해 나타날 수 있는 오류 유형은 다음과 같습니다.

  1. 화재Fox - 이 연결은 신뢰할 수 없습니다
  1. Google Chrome - 이 사이트의 보안은 신뢰할 수 없습니다.
  1. 인터넷 익스플로러(IE) – 본 웹사이트에서 제시한 보안 인증서는 신뢰할 수 있는 인증 기관(CA)의 신뢰를 받지 않았습니다.

SSL 인증서 오류 유형

다음을 사용하여 SSL 인증서 오류를 처리하는 방법 Selenium 웹드라이버

몇 가지 테스트 스크립트를 작성했고 스크립트를 실행하는 동안 위의 "신뢰할 수 없는 연결" 상황이 포착되었다고 가정하고 자동화를 통해 예외를 순수하게 처리하는 방법은 무엇입니까?

이러한 경우 SSL 예외를 자체적으로 처리하는 방식으로 스크립트를 조정해야 합니다.

우리가 사용하는 브라우저 인스턴스 유형에 따라 스크립트를 수정해야 합니다. 원하는 기능이 나타날 때 이러한 기능이 제공됩니다.

원하는 기능은 드라이버 인스턴스를 구성하는 데 사용됩니다. Selenium 웹드라이버. Desired Capability를 통해 ChromeDriver와 같은 모든 드라이버 인스턴스를 구성할 수 있습니다. Firefox드라이버 및 Internet Explorer.

현재로서는 위 시나리오를 생성할 특정 URL이 없지만 다음 단계에 추가할 수 있는 단계를 제공하고 있습니다. Selenium 위의 "신뢰할 수 없는 연결" 상황을 처리하기 위한 스크립트입니다.

SSL 인증서 오류 처리 Firefox

SSL 인증서 오류를 처리하려면 Firefox, 우리는 원하는 기능을 사용해야 합니다. Selenium Webdriver를 사용하고 다음 단계를 따르세요.

단계 1) 먼저 "라고 말하는 새로운 Firefox 프로필을 만들어야 합니다.내 프로필". 구글에서 "파이어폭스 프로필을 만드는 방법"을 알아볼 수 있습니다. 간단하고 쉽습니다.

단계 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"" 웹 브라우저의 인증서 오류를 처리하는 기능입니다.

Chrome의 SSL 인증서 오류 처리

Chrome에서 SSL 오류를 처리하려면 다음의 원하는 기능을 사용해야 합니다. Selenium 웹드라이버. 아래 코드는 크롬에서 모든 SSL 인증서를 수락하는 데 도움이 되며 사용자는 이 코드를 사용하여 SSL 인증서 관련 오류를 받지 않습니다.

아래와 같이 DesiredCapability 클래스의 인스턴스를 생성해야 합니다.

DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()       
handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true)
WebDriver driver = new ChromeDriver (handlSSLErr);

IE의 SSL 인증서 오류 처리

Chrome 브라우저에서 SSL 인증서를 처리하는 것과는 달리 Firefox, IE에서는 자바스크립트를 사용하여 처리해야 할 수도 있습니다.

IE에서 SSL 인증서를 처리하려면 이 상황을 두 가지 방법으로 처리할 수 있습니다.

  1. 여기에서 "링크를 클릭합니다.이 웹사이트로 계속 이동하세요(권장하지 않음)'. 다음에서는 IE에서 SSL 오류를 처리하는 방법을 살펴보겠습니다.

IE 브라우저에서 SSL 인증서 오류를 관찰하면 "이 웹 사이트를 계속 진행합니다(권장하지 않음)" 링크가 있습니다. 이 링크의 ID는 "링크 재정의"입니다. F12를 사용하여 HTML 모드에서 ID를 볼 수 있습니다.

IE의 SSL 인증서 오류 처리

드라이버.navigate() 메서드를 사용하여 링크를 클릭합니다. JavaScript 아래 :-

driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
  1. 두 번째 방법은 크롬 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은 웹 서버 컴퓨터와 웹 서버 브라우저에 존재하는 프로그램과 암호화/복호화 루틴의 조합을 통해 작동합니다.
  • 인증서로 인해 서버와 클라이언트 사이에 보안 연결이 설정되지 않은 경우 SSL 인증서 오류가 발생합니다.
  • SSL 예외/오류를 자체적으로 처리하는 방식으로 스크립트를 조정해야 합니다. Selenium 웹 드라이버.