2016-10-11 21 views
2

명령하지만 SSL 오류 얻을 : SSL을 사용하는 것과 동일한 문제가파이썬 내가 <code>twine upload <file></code>를 통해 PyPi에 파이썬 파일을 업로드하기 위해 노력하고있어

C:\pypubsub>twine upload dist\PyPubSub-4.0.0rc1-py3-none-any.whl 
Uploading distributions to https://upload.pypi.org/legacy/ 
Uploading PyPubSub-4.0.0rc1-py3-none-any.whl 
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645) 

다른 파이썬 스크립트를, 예 python setup.py bdist_wheel upload <my_package>pip install <any_package>

    • ; 하지만 거기에 내가

    이 가정이나 직장에서인지 내 회사 노트북에서 발생 성공 어떤 pip install 명령 및 종속성의 설치 및 다운로드에 --trusted-host pypi.python.org을 추가 할 수 있지만 내 개인 노트북에 발생하지 않습니다.

    이 해결하기 위해, 나는 기본적으로 노력 SO answer to similar problem (즉, 꼬기 유효성을 검사하려고하는 인증서 내보내기 - 아마도 pypi.python.org의를 - 그리고 그것을 사용하는 꼬기에게) :

    1. 크롬에서 나는 https://pypi.pythong.org으로 갔다. URL 옆에있는 자물쇠를 클릭 한 다음 자세히, 인증서보기, 세부 정보, 파일에 복사를 클릭했다. 이것은 .CER 파일을 생성했습니다.
    2. SSL Converter을 사용하여 .CER 파일을 DER 형식에서 PEM 형식으로 변환했습니다. 이 .CRT 파일을 만들었습니다.
    3. 저는 꼬기를 twine upload <my_package> --cert <path to CRT file>으로 실행했습니다. 이번에는 SSL 오류가 SSLError: [SSL] PEM lib (_ssl.c:2846)입니다.

  • 나는 다음 Opting Out에 설명 된대로 c:\Python35\lib\ssl.py을 패치하여 서버 인증서 유효성 검사의 선택을 해제 시도 : 나는 _create_default_https_context = _create_unverified_context에 의해 선 _create_default_https_context = create_default_context을 교체했다. twine 명령을 다시 실행하면 원래 CERTIFICATE_VERIFY_FAILED 오류로 다시 실패했습니다.

    저는 인증서에 익숙하지 않으므로 다른 것을 시도해야합니다.

    답변

    0

    --cert 플래그를 전달하여 twine에게 사용할 인증서를 지정할 수 있습니다.

    twine upload dist\PyPubSub-4.0.0rc1-py3-none-any.whl --cert <path-to-.pem-file> 
    

    .cer.pem 파일을 은밀한하려면 다음을 수행합니다.

    openssl x509 -inform der -in certificate.cer -out certificate.pem 
    

    --cert 플래그는 사용자 정의 SSL 인증서에서 사용 하나 필수적이다. 회사 네트워크를 사용하는 경우 위의 해결 방법을 통해 사용자를 정리해야합니다. ssl certs에 대해 관리자에게 문의하십시오.

    +0

    Thx @karanja 답변. 하지만 이것은 내 게시물의 1 ~ 3 단계를 수행해야한다고 확인하지만 아마 2 단계를 올바르게 수행하지 않은 것으로 보입니다. – Schollii

    +0

    @Schollii는 회사 방화벽 뒤에 있습니까? 그렇다면 https ssl 인증서에 액세스 할 수 있습니까? '.cer' 파일을'.pem' 파일로 변환해야합니다. –

    +0

    그래서 우리 IT에서 https SSL 인증서를 얻을 필요가 있습니까? 그래서 그것은 문제가있는 그 사이트만을위한 것이 아닌 ssl certs 세트입니다. – Schollii