2016-07-12 3 views
6

Python Selenium - What are possible keys in FireFox webdriver profile preferences의 답변을 기반으로 모든 json 파일에서 가능한 모든 키를 조사했지만 클라이언트 인증서를 지정할 키를 찾을 수 없습니다. 내 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 프로필 디렉토리에서이 파일들을 찾았습니다.

나는 셀레늄의 소스 코드를 검색하지만 대답은 찾을 수 없습니다 : 나는 source code에서 볼 수 있듯이 https://github.com/SeleniumHQ/selenium/search?utf8=%E2%9C%93&q=cert

답변

-2

, 당신은 매개 변수 (profile_directory)와 파이어 폭스의 프로필을 작성하고 얻을 수있는 파이어 폭스로 시작을 주어진 프로필. 나는 선호도를 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가 클라이언트 인증서의 db 일 경우, 내 특정 클라이언트 인증서 만 가져야합니다. 어떻게해야합니까? – gixxer

관련 문제