我正在尝试创建一个发送推送通知的python服务器.我正在使用pyAPNs模块,当我尝试连接到apple的服务器时,我收到此错误:
[Errno 336265225] _ssl.c:347: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib.
Run Code Online (Sandbox Code Playgroud)
谁知道是什么原因导致的?ssl证书必须采用什么格式?我试过.cer,但它给了我那个错误.
我正在尝试使用httplib的HTTPSConnection进行客户端验证,使用PKCS#12证书.我知道证书很好,因为我可以在MSIE和Firefox中使用它连接到服务器.
这是我的连接功能(证书包含私钥).我把它简化为基础知识:
def connect(self, cert_file, host, usrname, passwd):
self.cert_file = cert_file
self.host = host
self.conn = httplib.HTTPSConnection(host=self.host, port=self.port, key_file=cert_file, cert_file=cert_file)
self.conn.putrequest('GET', 'pathnet/,DanaInfo=200.222.1.1+')
self.conn.endheaders()
retCreateCon = self.conn.getresponse()
if is_verbose:
print "Create HTTPS connection, " + retCreateCon.read()
Run Code Online (Sandbox Code Playgroud)
(注意:请不要对硬编码路径发表评论 - 我试图让它首先工作;之后我会做得很好.硬编码路径是正确的,因为我在MSIE和Firefox中连接它我更改了帖子的IP地址.)
当我尝试使用PKCS#12证书(.pfx文件)运行它时,我得到了似乎是openSSL错误.这是整个错误回溯:
File "Usinghttplib_Test.py", line 175, in
t.connect(cert_file=opts["-keys"], host=host_name, usrname=opts["-username"], passwd=opts["-password"])
File "Usinghttplib_Test.py", line 40, in connect
self.conn.endheaders()
File "c:\python26\lib\httplib.py", line 904, in endheaders
self._send_output()
File "c:\python26\lib\httplib.py", line 776, in _send_output
self.send(msg)
File "c:\python26\lib\httplib.py", line 735, in send
self.connect()
File "c:\python26\lib\httplib.py", line 1112, … 我正在尝试从EC2提供Jupyter笔记本电脑,但出现SSL错误。我正在使用此AMI :TensorFlow GPU - @nottombrown (ami-8ed4d0e4)。我使用了自签名证书,这可能是问题的一部分。
我看过其他一些具有类似错误的SO帖子,例如this,this和this,但是他们在完全不同的上下文中遇到了错误,因此我不知道如何获得解决方案(例如设置verify=False)为我工作。
[E 15:52:44.954 NotebookApp] Exception in callback (<socket._socketobject object at 0x7f5f993dad00>, <function null_wrapper at 0x7f5f99319758>)
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 883, in start
handler_func(fd_obj, events)
File "/usr/local/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper
return fn(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/tornado/netutil.py", line 274, in accept_handler
callback(connection, address)
File "/usr/local/lib/python2.7/dist-packages/tornado/tcpserver.py", line 239, in _handle_connection
do_handshake_on_connect=False)
File "/usr/local/lib/python2.7/dist-packages/tornado/netutil.py", line 521, in ssl_wrap_socket
return ssl.wrap_socket(socket, **dict(context, **kwargs))
File "/usr/lib/python2.7/ssl.py", …Run Code Online (Sandbox Code Playgroud)