使用SSL来实现安全加密通讯需要有密码对及公钥证书等..
JDK中自带的一个工具keytool就可以用来生成密钥对..管理密码仓库以及证书的导入导出..
keytool的默认路径在~\java\jdk1.7.0\bin\下..以下介绍keytool的几种基本应用..
1)创建服务端密钥库
>keytool -genkey -keystore d:\serverkey.jks -keyalg rsa -alias ssl1 -validity 700
上述命令中:
-genkey 生成密钥对
-keystore 指定密码仓库的文件地址
-keyalg 密钥所使用的算法
-alias 密钥别名..使用密钥时是使用此别名来区分的
-validity 密钥有效期(天)..从当前系统时间开始计算
该命令成功后会要求输入密码仓库的密码..例如111111
然后是输入你的个人信息..
最后会要求输入别名的密码..例如222222
创建成功后..在建立服务端的SSL连接时用下述方法导入密钥..
String keyFile = serverkey.jks
String keyFilePass = "111111"
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(new FileInputStream(keyFile), keyFilePass.toCharArray());
再利用该密码仓库来进行相应操作..
2)将服务端的公钥导出成证书
>keytool -export -alias ssl1 -file d:\ssl1.cer -keystore d:\serverkey.jks
-export 导出
导出成功后就得到了ssl1.cer这一份证书了..然后就是要将这一份证书分发给客户端..客户端有了该证书后就能与服务端建立安全连接了..
3)生成客户端的密钥仓库
方法与1)类似..
4)将*.cer导入到客户端的密钥仓库里
>keytool -import -file d:\ssl1.cer -keystore d:\clientkey.jks
-import 导入
上述命令成功后会要求输入客户端密钥仓库的密码..
成功后在每次要访问服务端之前还要将该证书添加到受信域中..系统会自动从受信域中检查可用的证书来完成SSL连接通讯..
String keyFile = clientkey.jks
String keyFilePass = "111111"
System.setProperty("javax.net.ssl.trustStore",keyFile);
System.setProperty("javax.net.ssl.trustStorePassword",keyFilePass);
以上..实现了密钥对的创建及管理之后..我们就可以开始实现SSL通讯了..
发表评论
-
NIO入门
2012-07-25 17:40 697见附件!!!! -
Axis-Webservice课程
2012-07-10 11:40 1915http://hi.baidu.com/annleecn/ ... -
SSL安全socket的通讯实例
2012-06-07 17:52 1084学习了SSL的基本原理后. ... -
SSL+socket
2012-06-07 17:20 955Java代码 服务器端代码: ... -
用SSL构建安全的Socket
2012-06-07 16:38 1371SSL(安全套接层)是 Netscape公司在1994年开发的 ... -
keytool 用法总结
2012-06-07 16:37 15112内容概览: keytool的几个常用的命令。 1.创建证书 ... -
XStream实现Object与XML转换解决方案
2012-06-05 11:16 1105方案说明: 1:特点 > 0 配置 > ... -
AAAA26
2012-04-28 11:19 0建议3 IO操作流使用有Buffer功能的class. (1. ... -
AAAA25
2012-04-28 11:19 03.5.2 建议 建议1 public类型的底层函数需对输入 ... -
AAAA24
2012-04-28 11:18 0规则5 对类中日志工具对象logger应声明为static. ... -
AAAA23
2012-04-28 11:18 0规则4 Java 1.4中大量字符串的“相加”操作应该使用St ... -
AAAA22
2012-04-28 11:18 03.5 性能与可靠性 3.5.1 规则 规则1 对Debu ... -
AAAA21
2012-04-28 11:17 0建议11 使用Java 5.0枚举来替代以前用数字与字符串的同 ... -
AAAA20
2012-04-28 11:16 0建议7 不要使用难懂的技巧性很高的语句,除非很有必要时。(1. ... -
AAAA19
2012-04-28 11:14 03.4.2 建议 建议1 记录异常不要保存exception ... -
AAAA18
2012-04-28 11:04 0规则14 判断语句不要使用”* == true”来判断为真 说 ... -
AAAA17
2012-04-28 11:04 0规则9 不要使用 System.out 与 System.er ... -
AAAA16
2012-04-28 11:03 0应改为如下形式: private final static i ... -
AAAA15
2012-04-28 11:03 0应改为如下形式: private final static i ... -
AAAA14
2012-04-28 11:02 0规则5 在程序中使用异常处理还是使用错误返回码处理,根据是否有 ...
相关推荐
2. **Keytool命令行工具**:Keytool是Java的标准工具,用于生成、存储、导出、导入和管理密钥对及证书。它可以创建Keystore,这是存储密钥对和证书的安全库,支持多种格式如JKS(Java Key Store)和PKCS12。 3. **...
- **创建密钥库**:Keytool可以创建一个包含密钥对的文件,称为密钥库(Keystore)。默认的密钥库类型是JKS(Java Key Store)。 - **生成密钥对**:在密钥库中,Keytool能生成新的密钥对,并将其与自签名的证书...
通过使用Keytool,开发者可以创建本地密钥库,生成公钥和私钥对,导入和导出证书,以及进行各种安全相关的验证。 Keytool-IUI则是在Keytool基础上的一个增强版本,它引入了图形用户界面,使得非技术用户也能更轻松...
KeyTool是Java Development Kit (JDK)自带的一个命令行工具,它主要用于创建、管理及导出数字证书和密钥对。这些证书用于验证服务器的身份,确保数据传输的安全性,比如在HTTPS协议中。 2. **证书与密钥** - **...
Java的Keytool是一个重要的工具,它用于管理Java的密钥对和数字证书,这些是进行安全网络通信的基础。Keytool的全名是“Java Key Tool”,它被集成在Java Development Kit (JDK) 中,提供了生成、存储和管理密钥对、...
KeyTool是Java Development Kit (JDK)的一部分,它提供了一系列命令来创建、查看、导出、导入和管理密钥对和证书。下面是一些主要的KeyTool命令: 1. **生成密钥对**:`keytool -genkeypair` 使用此命令,你可以...
1. **创建密钥库**:Keytool可以创建一个新的密钥库,这是一个存储密钥对和证书的安全文件。默认的密钥库类型是JKS(Java Key Store),但也可以支持其他格式如PKCS12。 2. **生成密钥对**:在密钥库中,用户可以...
`keytool`是Java开发工具包(JDK)的一部分,主要功能是管理和操作密钥对和数字证书。这个工具在Linux和其他操作系统上广泛用于安全配置,特别是在构建HTTPS服务器、SSL/TLS连接以及进行数字签名等方面。以下是关于`...
Java代码验证keytool工具生成的密钥...总的来说,理解并熟练使用keytool生成和验证密钥对是Java开发者必备的技能之一,它关乎到应用程序的安全性和合规性。通过学习和实践,你可以更好地掌控这些核心的加密和认证技术。
本文主要介绍了如何使用Keytool工具来生成密钥、创建自签名证书、导入第三方证书、导出数字证书以及配置HTTPS服务的过程。这些步骤对于搭建安全的网络通信至关重要。在实际操作过程中需要注意细节,如密钥库密码的...
在Java程序中,你可以使用 `KeyStore` 类来加载这个 keystore 文件,并使用 `KeyManagerFactory` 和 `TrustManagerFactory` 来管理和验证证书。例如,以下代码片段展示了如何加载 keystore: ```java import java....
KeyTool 1.6是一个关键的组件,因为它允许用户创建、存储、导出和管理这些数字证书。以下是一些主要功能: 1. **生成密钥对**:KeyTool可以生成RSA、DSA或EC等算法的密钥对。密钥对包括一个私钥和一个对应的公钥,...
- 创建密钥库:`keytool -genkeypair` - 导入证书:`keytool -importcert` - 查看密钥库内容:`keytool -list` - 删除密钥或证书:`keytool -delete` 7. **注意事项**: - 密钥库的保护:应妥善保管密钥库的...
Keytool是Java提供的一款工具,主要用于管理密钥对(公钥和私钥)以及数字证书,它允许用户创建、存储和管理这些安全组件。在本主题中,我们将深入探讨如何使用keytool生成证书及其相关概念。 首先,让我们了解什么...
总结来说,通过`keytool`命令行工具,我们可以生成并管理数字证书,包括创建具有特定DN的证书,并结合`ConventPFX.java`这样的工具类,将证书导出为PFX格式,方便在不同环境下的使用。在进行这些操作时,务必确保...
Java和Keytool生成RSA密钥对是网络安全领域中常见的操作,尤其在进行数据加密、数字签名和SSL/TLS证书管理时。RSA是一种非对称加密算法,它基于两个密钥:公钥和私钥,公钥用于加密,私钥用于解密。Keytool是Java...
总之,Java Keytool是Java环境下的强大工具,通过它我们可以方便地创建、管理和维护数字证书和密钥对,为网络安全提供基础保障。了解并熟练使用Keytool,对于进行安全的Java应用开发和系统运维至关重要。
下面是使用 KeyTool 的详细指南,包括创建密钥对、导出证书、将证书导入 Java 信任证书库等内容。 生成密钥对 KeyTool 提供了生成密钥对的功能,用于创建数字证书。可以使用以下命令生成密钥对: `keytool -...
创建密钥仓库时会要求输入访问口令,以后需要使用此口令来访问。 使用 P12 格式证书导入时,keytool 无法直接导入 PKCS12 文件。可以通过将 pfx 文件导入到 IE 浏览器中,再导出为 cert 格式文件,然后使用上面介绍...
`keytool`是Java开发工具包(JDK)中附带的一个命令行工具,用于管理密钥对(公钥和私钥)以及信任存储库。它在网络安全、HTTPS通信、服务器身份验证等领域扮演着重要角色。以下是关于`keytool`证书制作工具的详细...