Java jython 2.7.0中的SSLHandshakeException

Java jython 2.7.0中的SSLHandshakeException,java,exception,sslhandshakeexception,jython-2.7,Java,Exception,Sslhandshakeexception,Jython 2.7,当我尝试使用jython单机版2.7.0执行以下代码时,我得到了javax.net.ssl.SSLHandshakeException:General SSLEngine problem import jsonrpclib url = 'https://userName:Password@host/' ss = jsonrpclib.Server( url ) result = ss.runCmds( 1, [{ "cmd" : "<command>" } ] ) print re

当我尝试使用jython单机版2.7.0执行以下代码时,我得到了javax.net.ssl.SSLHandshakeException:General SSLEngine problem

import jsonrpclib
url = 'https://userName:Password@host/'
ss = jsonrpclib.Server( url )
result = ss.runCmds( 1, [{ "cmd" : "<command>" }  ] )
print result
导入jsonrpclib
url='1〕https://userName:Password@主机/'
ss=jsonrpclib.Server(url)
结果=ss.runCmds(1,[{“cmd”:“}])
打印结果
例外情况:

Traceback (most recent call last):
  File "<string>", line 4, in <module>
  File "/jython/Lib/jsonrpclib/jsonrpc.py", line 288, in __call__
    return self.__send(self.__name, args)
  File "/jython/Lib/jsonrpclib/jsonrpc.py", line 237, in _request
    response = self._run_request(request)
  File "/jython/Lib/jsonrpclib/jsonrpc.py", line 251, in _run_request
    response = self.__transport.request(
  File "/jython/Lib/xmlrpclib.py", line 1264, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/jython/Lib/xmlrpclib.py", line 1292, in single_request
    self.send_content(h, request_body)
  File "/jython/Lib/jsonrpclib/jsonrpc.py", line 126, in send_content
    connection.endheaders()
  File "/jython/Lib/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/jython/Lib/httplib.py", line 850, in _send_output
    self.send(msg)
  File "/jython/Lib/httplib.py", line 812, in send
    self.connect()
  File "/jython/Lib/httplib.py", line 1204, in connect
    self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file)
  File "/jython/Lib/_socket.py", line 357, in handle_exception
    return method_or_function(*args, **kwargs)
  File "/jython/Lib/_socket.py", line 357, in handle_exception
    return method_or_function(*args, **kwargs)
  File "/jython/Lib/ssl.py", line 287, in wrap_socket
    return SSLSocket(
  File "/jython/Lib/ssl.py", line 116, in __init__
    self.do_handshake()
  File "/jython/Lib/ssl.py", line 165, in do_handshake
    raise SSLError(SSL_ERROR_SSL, e.strerror)
_socket.SSLError: [Errno 1] General SSLEngine problem (javax.net.ssl.SSLHandshakeException: General SSLEngine problem)
回溯(最近一次呼叫最后一次):
文件“”,第4行,在
文件“/jython/Lib/jsonrpclib/jsonrpc.py”,第288行,在调用中__
返回self.\u发送(self.\u名称,args)
文件“/jython/Lib/jsonrpclib/jsonrpc.py”,第237行,在请求中
响应=自我运行请求(请求)
文件“/jython/Lib/jsonrpclib/jsonrpc.py”,第251行,在运行请求中
响应=self.\u transport.request(
文件“/jython/Lib/xmlrpclib.py”,第1264行,在请求中
返回self.single\u请求(主机、处理程序、请求体、详细)
文件“/jython/Lib/xmlrpclib.py”,第1292行,在单次请求中
自我发送内容(h,请求正文)
文件“/jython/Lib/jsonrpclib/jsonrpc.py”,第126行,在发送内容中
connection.endheaders()
文件“/jython/Lib/httplib.py”,第997行,在endheaders中
自发送输出(消息体)
文件“/jython/Lib/httplib.py”,第850行,在发送输出中
self.send(msg)
文件“/jython/Lib/httplib.py”,第812行,在send中
self.connect()
文件“/jython/Lib/httplib.py”,第1204行,在connect中
self.sock=ssl.wrap\u套接字(sock、self.key\u文件、self.cert\u文件)
句柄异常中的文件“/jython/Lib/_socket.py”,第357行
返回方法或函数(*args,**kwargs)
句柄异常中的文件“/jython/Lib/_socket.py”,第357行
返回方法或函数(*args,**kwargs)
文件“/jython/Lib/ssl.py”,第287行,在wrap_套接字中
返回SSLSocket(
文件“/jython/Lib/ssl.py”,第116行,在__
self.do_握手
文件“/jython/Lib/ssl.py”,第165行,在do_握手中
raise SSLError(SSL\U错误\U SSL,e.strerror)
_socket.SSLError:[Errno 1]一般SSLEngine问题(javax.net.ssl.SSLHandshakeException:一般SSLEngine问题)

同样的代码在python中也可以正常工作。

这是因为您没有指定SSL证书。 有一些方法可以绕过证书,寻找它们。在scala中寻找下面的代码,我在scala中做同样的事情。可能会对您有所帮助


这是因为您没有指定SSL证书。 有一些方法可以绕过证书,寻找它们。在scala中寻找下面的代码,我在scala中做同样的事情。可能会对您有所帮助


谢谢。我通过跟踪Jython()中信任所有证书的帖子解决了这个问题。谢谢。我通过跟踪Jython()中信任所有证书的帖子解决了这个问题