相关疑难解决方法(0)

简单的Java HTTPS服务器

我需要为Java应用程序设置一个非常轻量级的HTTPS服务器.它是我们开发实验室中使用的模拟器,用于模拟野外设备接受的HTTPS连接.因为它纯粹是一个轻量级的开发工具,并且完全不以任何方式用于生产,所以我很乐意绕过认证和尽可能多的协商.

我打算HttpsServer在Java 6 SE中使用这个类,但我很难让它运行起来.作为测试客户端我正在使用wgetcygwin命令行(wget https://[address]:[port])但wget报告它"无法建立SSL连接".

如果我运行wget-d进行调试选项,它告诉我"SSL握手失败".

我花了30分钟谷歌搜索这一切似乎只是指向描述方法的相当无用的Java6文档,但实际上并没有谈论如何让讨论或讨论提供任何示例代码.

任何人都可以朝着正确的方向推动我吗?

java ssl https java-6

42
推荐指数
3
解决办法
6万
查看次数

java中如何让SSL服务器socket同时支持http和https?

我正在尝试使用 java 套接字创建简单的 Web 服务器,它应该支持 http 和 https。但我一次只能实现一个。我需要同时支持 http @ port 80 和 https @ port 443 的逻辑。
这是使用 sslsocket 的 HTTPS 服务器的示例代码。我们可以使用简单的ServerSocket来实现HTTP Server。

public class HttpsServer {
    public static void main(String[] args) {
    try {
        KeyStore ks = KeyStore.getInstance("PKCS12");
        ks.load(new FileInputStream("/opt/p12file.p12"), "p12pass".toCharArray());
        KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        kmf.init(ks, "p12pass".toCharArray());

        SSLContext sc = SSLContext.getInstance("TLS");
        sc.init(kmf.getKeyManagers(), null, null);

        SSLServerSocketFactory ssf = sc.getServerSocketFactory();
        SSLServerSocket s = (SSLServerSocket) ssf.createServerSocket(8080);

        while (true) {
            SSLSocket c = (SSLSocket) s.accept();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(c.getOutputStream()));
            w.write("HTTP/1.0 …
Run Code Online (Sandbox Code Playgroud)

java sockets sslsocketfactory

5
推荐指数
1
解决办法
5616
查看次数

标签 统计

java ×2

https ×1

java-6 ×1

sockets ×1

ssl ×1

sslsocketfactory ×1