【问题标题】:Java application SSLSockets - AuthenticationJava 应用程序 SSLSockets - 身份验证
【发布时间】:2013-06-18 19:08:02
【问题描述】:

我正在开发一个 Java 应用程序,我需要通过安全套接字向服务器发送几个字符串,我必须使用由受信任的 CA 生成的我自己的证书

文件证书是myOwnCRT.crt

客户

        InputStream is = new FileInputStream("app.config.properties");       
        Properties objProperties = new Properties();
        objProperties.load(is);        
        String ipServer = objProperties.getProperty("ip");             
        String portServer = objProperties.getProperty("port");

        SSLSocketFactory factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
        SSLSocket socketSsl = (SSLSocket)factory.createSocket(idServer, Integer.parseInt(portServer));

        BufferedReader in = new BufferedReader(new InputStreamReader());
        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socketSsl.getOutputStream()));

服务器

//        System.setProperty("javax.net.ssl.trustStore", "myOwnCRT.crt");
//        System.setProperty("javax.net.ssl.keyStorePassword", "pass");
        SSLServerSocketFactory fact = (SSLServerSocketFactory)SSLServerSocketFactory.getDefault();
        SSLServerSocket socketServidorSsl = (SSLServerSocket)fact.createServerSocket(Integer.parseInt(1099));
        SSLSocket socketSsl = (SSLSocket)socketServidorSsl.accept();

        BufferedReader entrada = new BufferedReader(new InputStreamReader(socketSsl.getInputStream()));

        String line= null;
        System.out.println( "Waiting..." );

        while( (linea = entrada.readLine()) != null ) 
        {
            System.out.println(line);
            System.out.flush();
        }

如何通过 SSLSockets 向服务器发送两个字符串?

我希望你能帮助我。

非常感谢

【问题讨论】:

  • 具体的问题是???
  • 欢迎来到 StackOverflow!请记住,这是一个社区可以帮助修复您的代码的地方,而不是为您编写代码,这是您的问题边界提出的。此外,请确保在您的帖子正文中非常清楚地说明您的问题。标题不是问题的地方!相反,它是对问题的快速总结。
  • @RussellUhl 我真的很抱歉这篇文章。我编辑了帖子,我怎样才能再次打开帖子?
  • 据我所知,你不能。将其作为新问题重新发布,但这次确保包含问题中的所有信息。我们不是卑鄙的人,真的:)

标签: java certificate keytool jarsigner jsse


【解决方案1】:

你可以从做研究开始。阅读 keytool 和 jarsigner 如何工作,以及如何使用它们。阅读网络加密标准。如果您不知道,请研究什么是证书和 CSR。研究如何正确建立一个带有存储加密数据的后端数据库的身份验证系统。

一旦您掌握了所有这些,请获取白板或图表工具并确定您的代码范围。画出每个模块如何与其他模块交互。

  • 在此处插入其他步骤

然后开始编码。如果您的代码不起作用,那么您会在 SO 回到我们这里并询问原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 2018-12-23
    • 2012-11-23
    • 1970-01-01
    • 2012-08-03
    相关资源
    最近更新 更多