Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。
(1.)首先我们生成密钥文件(证书):
keytool -genkey -alias tomcat -keypass tomcat -keystore d:\privatestore.jks -storepass 123456 -keyalg RSA
(2.)对密钥文件自签名:
keytool -selfcert -alias tomcat -keypass tomcat -keystore d:\privatestore.jks -storepass 123456
(3.)从签名后的私有密钥文件中导出公有密钥:
keytool -export -alias tomcat -keypass tomcat -file d:\key.rsa -keystore d:\privatestore.jks -storepass 123456
(4.)将公有密钥导入一个公有密钥文件:
keytool -import -alias tomcat -file d:\key.rsa -keystore d:\publicstore.jks -storepass 654321
(5.)将[keystore]导入java信任证书库:
keytool -import -trustcacerts -alias tomcat_pso -file d:\publickey.rsa -keypass tomcat -keystore “%JAVA_HOME%/jre/lib/security/cacerts”
注:%JAVA_HOME%/jre/lib/security/cacerts为java自带的证书库,默认密码为changeit
8,通过证书文件查看证书信息
keytool -printcert -file myCA.cer
9,密钥库中证书条目口令的修改
Keytool -keypasswd -alias myCA -keypass 654321 -new newpass -storepass 123456 -keystore myCALib
10,删除密钥库中的证书条目
keytool -delete -alias myCA -keystore myCALib
11,把一个证书文件导入到指定的密钥库
keytool -import -alias myCA -file myCA.cer -keystore truststore
(如果没有名为truststore的keystore,将自动创建,将会提示输入keystore的密码)
12,更改密钥库的密码
keytool -storepasswd -new 123456 -storepass 789012 -keystore truststore
其中-storepass指定原密码,-new指定新密码。
本人博客已搬家,新地址为:http://yidao620c.github.io/
相关推荐
这个名为"Cert_Info.rar_cert_info_java 数字证书_数字 证书_数字证书_证书"的压缩包文件包含了与Java编程语言相关的数字证书读取程序,让我们深入探讨一下这个主题。 首先,"certnew.cer"文件是一个常见的数字证书...
### Java数字证书实例详解 #### 一、所需导入的包 在进行Java数字证书操作时,需要导入以下包来确保程序能够顺利执行相关的安全和证书处理功能: ```java import java.security.*; import java.io.*; import java...
总之,Java数字证书和数字签名是构建安全网络应用的核心技术,这个源码模块提供了一种实际的实现方式,可以帮助开发者更好地理解和应用这些概念。通过深入学习和实践,你可以提升在网络安全领域的专业技能,为构建更...
Java 数字证书操作是网络安全领域中的重要组成部分,主要用于身份验证和数据加密,确保网络通信的安全。在Java中,我们可以利用Java Cryptography Extension (JCE) 和 Java Secure Socket Extension (JSSE) 这些强大...
Java代码生成数字证书涉及到几个关键概念和技术,包括Java的密钥和证书管理、RSA加密算法以及非交互式证书创建。在此,我们将深入探讨这些主题,以便理解如何在Java环境中生成和使用数字证书。 1. **数字证书**:...
总之,Java数字证书是网络通信安全的关键组成部分,理解和熟练运用Java中关于数字证书的API,对于开发安全的应用至关重要。通过学习和实践,开发者可以创建自己的证书,管理KeyStore,以确保应用程序的数据传输和...
### Java 获取数字证书信息 在本篇文章中,我们将深入探讨如何使用Java来获取数字证书的信息,包括使用TOMCAT和JDK搭建SSL服务的过程、如何用OpenSSL签发证书以及如何支持第三方CA等内容。 #### 一、使用TOMCAT和...
本文将深入探讨如何使用Java语言结合RSA算法,通过数字证书实现文件的加密和解密操作。RSA是一种非对称加密算法,它的核心在于一对密钥:公钥和私钥。公钥可以公开给任何人,用于加密数据;而私钥必须保密,用于解密...
在Java编程环境中,数字证书是用于安全通信的重要工具,它们主要应用于加密、身份验证和数据完整性保护。在“JAVA使用数字证书加密文件”的主题中,我们聚焦于如何使用RSA算法结合数字证书对文件进行加密。RSA是一种...
在Java编程环境中,生成数字证书是一项关键的安全技术,主要用于数据加密、身份验证和签名等应用场景。数字证书通常包含了公钥和私钥对,以及证书持有者的相关信息,这些信息经过认证机构(CA)的签名,确保了证书的...
总结,这个压缩包中的源代码提供了关于Java数字签名和数字证书的实战示例,是学习和实践Java安全编程的重要资源。通过学习和运用这些代码,开发者能够更好地理解和应用密码学原理,增强软件的安全特性。
【Java安全通信与数字证书详解】 在Java编程中,安全通信是确保数据在传输过程中不被篡改或窃取的关键。数字证书作为一种重要的安全机制,用于验证通信双方的身份,保证信息的真实性。本篇文章将深入探讨Java中如何...
Java 数字签名和数字证书是网络安全领域中的重要概念,它们在确保数据的完整性和来源的可信性方面扮演着关键角色。这份"Java 数字签名、数字证书生成源码"的压缩包提供了实现这些功能的代码示例,对于理解和应用Java...
下面将详细介绍这些算法以及它们在Java中的实现,以及如何进行数字签名和数字证书的验证。 1. **SM2算法**:SM2是一种基于椭圆曲线密码学(ECC)的公钥加密算法,用于非对称加密。它提供了密钥交换、签名和验证的...
Java 数字签名与数字证书是安全领域中的重要概念,它们在软件开发中起着至关重要的作用,尤其是在确保数据完整性和身份验证方面。本资源包含的Java代码工具包提供了生成数字签名和数字证书的源码,这有助于开发者...
`keytool`是Java Development Kit (JDK)自带的一个工具,用于管理密钥对(公钥和私钥)和证书,它可以帮助我们创建、存储和管理数字证书,确保数据传输的安全性。本篇文章将深入探讨`keytool`的使用,特别是如何通过...