java - jython 2.7.0 中的 SSLHandshakeException

标签 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 result

异常(exception):

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)

相同的代码在 python 中运行良好。

最佳答案

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

https://gist.github.com/junaidk/237e49c36b3752a29597

关于java - jython 2.7.0 中的 SSLHandshakeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35619474/

相关文章:

java - 在循环中使用 Integer 有什么区别吗?

java - Hibernate 模型 scanPackages()

java - 将 'password expiration' 信息从 Wildfly 服务器身份验证模块传递到远程 EJB 客户端

java - 拦截并重新抛出 Java 未处理的异常

尝试编译应用程序时出现 javax.net.ssl.SSLHandshakeException

java - 无法通过 servlet 填充数据库

java - 在 Java 中如何以及在哪里定义自己的异常层次结构?

java - 以编程方式抛出 EntityExistsException - 不好的做法?

android - 需要帮助在 Android Nougat 中调试 SSLHandshakeException

tls1.2 - 如何在 Java 中更改客户端 TLS 首选项?