如何在安全域上为java netty socketIO创建JKS密钥库文件

如何在安全域上为java netty socketIO创建JKS密钥库文件,java,openssl,netty-socketio,Java,Openssl,Netty Socketio,我需要在安全域上创建一个JKS密钥库文件(例如:) 我将在我的JavaNettySocketio服务器端使用这个密钥库文件 Configuration config = new Configuration(); config.setHostname("example.com"); config.setPort(3037); config.setKeyStorePassword("password"); InputStream stream = new FileInputStream("

我需要在安全域上创建一个JKS密钥库文件(例如:)

我将在我的JavaNettySocketio服务器端使用这个密钥库文件

 Configuration config = new Configuration();
 config.setHostname("example.com");
 config.setPort(3037);
 config.setKeyStorePassword("password");
 InputStream stream = new FileInputStream("C:/keystore.jks");
 config.setKeyStore(stream);
我不太确定创建jks文件的最佳方法是什么,以及这个文件需要什么

我正在使用windows vps来实现这个java套接字程序


提前感谢

您可以使用java的keytool工具。 您应该在路径中安装java和JDK bin文件夹(如果不是从JDK的bin目录运行它)

使用要存储到第一个密钥(myalias)的值回答问题,该工具将创建一个包含别名为myalias的密钥的密钥库

完成后,您可以使用

$ keytool -keystore mykeystore.jks -list

你好,洛恩尼斯。我试着跟随你的脚步。但我犯了这个错误
keytool错误:java.io.FileNotFoundException:mykeystore.jks(访问被拒绝)
。如果您使用的是Windows 8-10,并且您试图从程序文件运行它,那么您可能没有写入权限。尝试使用管理员权限(提升的命令行)打开CMD。是的,它对我很有效,顺便问一下,当我创建JKS文件时,如何设置域名(例如:)。或者,只要我们在安全域(在我的情况下是vps)上创建它,就不需要它了?域名应该添加到证书的SAN属性(使用者替代名称)下。您可以执行以下操作:keytool-keystore mykeystore.jks-genkey-alias myalias-ext san=dns:example.com
$ keytool -keystore mykeystore.jks -list