2014-10-04 3 views
3
  1. 개발 ASPN 인증서가 작동하는지 어떻게 테스트 할 수 있습니까? 왜사과 푸시 알림 스크립트가 갑자기 작동하지 않습니다.

    Traceback (most recent call last): 
        File "pushnot.py", line 15, in <module> 
        wrapper.notify() 
        File "build/bdist.macosx-10.9-intel/egg/APNSWrapper/notifications.py", line 194, in notify 
        File "build/bdist.macosx-10.9-intel/egg/APNSWrapper/connection.py", line 215, in connect 
        File "build/bdist.macosx-10.9-intel/egg/APNSWrapper/connection.py", line 161, in connect 
        File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 333, in connect 
        self._real_connect(addr, False) 
        File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 323, in _real_connect 
        self.do_handshake() 
        File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 305, in do_handshake 
        self._sslobj.do_handshake() 
    ssl.SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure 
    

어떤 생각 :

  • 내 파이썬 스크립트는 다음과 같은 오류를 준다?

  • +0

    동일한 문제가 발생했습니다.이 문제에 대한 업데이트가 있습니까? –

    +0

    파이썬에 문제가있는 것 같습니다. 나는 PHP를 사용하고 있습니다. – bobo2000

    답변

    3

    SSLv3 대신 TLSv1을 사용하여 APNS 서버에 연결하여 문제를 해결할 수있었습니다. 문제는 Python SSL 라이브러리가 오래된 OSX OpenSSL 라이브러리 (내 컴퓨터의 v0.9.8)와 연결되어있는 경우입니다. 이 버전은 SSLv3을 사용할 때 더 이상 APNS 서버에 올바르게 연결되지 않습니다. 과 같이, 연결을 설정할 때 그래서 그 대신, PROTOCOL_TLSv1에 ssl_version을 설정

    sock = socket() 
    sock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_TLSv1, certfile=certfile) 
    sock.connect(('sandbox.push.apple.com, 2195)) 
    

    을 그리고 당신은 더 이상 핸드 셰이크 실패 오류가 없습니다.

    +0

    당신은 신사이고 학자입니다. –

    관련 문제