2014-02-06 1 views
7

나는 행복한 사람이었고, 행복한 자신의 행복한 지역 지수를 가지고 있었다. 어느 날 나는 핍 클라이언트를 업데이트했으며 더 이상 행복하지 않습니다.python PIP에서 개인 핍 인덱스의 파일을 "안전하고 검증 가능"하게 만들려면 어떻게해야합니까?

Downloading/unpacking super_package 
Getting page https://my_server/index/super_package/ 
URLs to search for versions for super_package: 
* https://my_server/index/super_package/ 
* https://pypi.python.org/simple/super_package/ 
Analyzing links from page https://my_server/index/super_package/ 
Skipping https://my_server/ci/super_package-0.2.2.tar.gz (from https://my_server/index/super_package/) because it is an insecure and unverifiable file. 

WHY? 나는 SSL 내 서버에서 사용하고 내 pip.conf 파일은 다음과 같습니다 :

[global] 
cert = /path/to/my_server/cert.pem 
index-url = https://my_server/index 
extra-index-url = https://pypi.python.org/simple/ 

어떻게 '확보 및 검증'/ '불안 및 확인 불가능한'파일이 정의? PIP가 어떻게 구별합니까?

마지막으로 : easy_install으로 전환 하시겠습니까?

편집 :

내 자신의 PIP 지수는 다음과 같습니다 동시 서버의

<html> 
<head> 
<title>Package Index</title> 
<meta name="api-version" value="2" /> 
</head> 
<body><a href="ADMESARfari/index.html">ADMESARfari</a><br/> 
<a href="chembl-internal-ws/index.html">chembl-internal-ws</a><br/> 
<a href="chembl_api/index.html">chembl_api</a><br/> 
    ... 
<a href="gdb/index.html">gdb</a><br/> 
</body> 
</html> 

CA의 인증서 내 맥에 설치되어 있지만 난 여전히 같은 문제가 있어요 .. .

enter image description here

답변

1

패키지 링크에 해시를 지정하고 있습니까? 그렇지 않다면, 핍은 링크를 신뢰하지 않을 것입니다.

자세한 내용/예제는 the warehouse docs on the simple api을 확인하십시오.

+0

그렇다면 "링크에 선택적으로 URL 조각을 사용하는 해시가 포함될 수 있습니다." 그것은 "선택이 될 수 있습니다"라는 뜻이 아니라 반드시 필요합니다. – mnowotka

+0

아마도 선택 사항이기 때문에, 1.5의 핍은 여분의 플래그없이 더 이상 다운로드하지 않습니다. 또한웨어 하우스가 현재 많이 개발되고 있기 때문에 이전 버전의 API에 주석을 달았을 때부터 문서가 완전히 기능을 완료하거나 완전히 업데이트 될 것으로 기대하지는 않습니다. – Ivo

1

짧은 답변

https://my_server/index 파일의 <meta name="api-version" value="..." />을 확인하십시오. 나는 당신의 로컬 (https://my_server/index로 제공) 지수와 방법을 창조 하셨 는가의 진정한 URL을 알고 있다면

자세한 답변을

좀 더 구체적으로 할 수있다.

나는 그렇게하지 않으므로 다음과 같은보다 일반적인 생각을 도울 수 있기를 바랍니다.

우선 --allow-insecure 명령 줄 옵션을 사용할 수 있습니다. 분명히 이것은 컴퓨터의 보안에 관심이있는 한 좋은 생각이 아닙니다.

보안 영역에 머물고 싶다면 소스가 안전하지 않고 확인할 수없는 것으로 여겨지는 이유를 찾아야합니다.

이 오류가 발생한 코드를 보면 가장 가능성이 높은 이유는 Link 클래스의 verifiable() 메서드 결과 때문입니다.

이 방법을 보면 당신의 인덱스 페이지 때문에 설정 파일의

index-url = https://my_server/index 

라인의 trusted 목록에 있어야 주어진는 왼쪽 주된 이유는 변수 _api_version의 값입니다. 거기 아니라면

<meta name="api-version" value="2" /> 

또는 1 이하의 값을 갖는 경우 문제가 여기에해야 다음 : 확인하려면 어떤 색인 파일의 api_versionmeta 태그를 확인하고 그런 일을 찾아이다.

일부 hash 인증도 있지만 어떻게 작동하는지 조사하지 않았습니다.

+0

안녕하세요, 답변 해 주셔서 감사합니다. 우선 나는'allow-insecure'를 내'pip.conf'에 추가하고'api-version' 태그에 정확한 값을 추가해보고 도움이되는지 확인하려고합니다. 그렇지 않으면 내 질문을 편집 할 것입니다. '해쉬'검증은 더 어렵게 만들 것입니다 ... – mnowotka

+0

'api-version'을 먼저 수정 해보십시오 - 더 안전합니다. –

+0

불행히도 주말에 답을 확인할 필요는 없지만 이것이 유일한 답입니다. 만약 그것이 올바른 것으로 판명되면, 나는 기분이 좋지 않을 것입니다. 당신에게 현상금을 줄 수있는 기회를 잃어 버리게됩니다. 그래서 해보지 만 이것이 올바른 답을 의미하지는 않습니다. – mnowotka

관련 문제