`
happyqing
  • 浏览: 3183725 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java用keytool命令创建证书

    博客分类:
  • java
阅读更多

 

证书(Certificate,也称public-key certificate)是用某种签名算法对某些内容(比如公钥)进行数字签名后得到的、可以用来当成信任关系中介的数字凭证。证书发行机构通过发行证书告知证书使用者或实体其公钥(public-key)以及其它一些辅助信息。证书在电子商务安全交易中有着广泛的应用,证书发行机构也称 CA(Certificate Authority)。


最近做项目用到证书,做个小结

 

是用RSA私钥加密,用证书解密,我觉得反过来也可以

之前用过RSA私钥加密,公钥解密,或公钥加密,私钥解密,
参考:http://happyqing.iteye.com/blog/2083360

感觉这两个很类似

 

证书一般包括证书信息和公钥,不包括私钥。 有的包括私钥。

可以用java命令:keytool 生成自签证书,其实生成证书很简单的


keytool 或 keytool -help 查看帮助

keytool参数:

-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
(在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:/Documents and Settings/UserName/文件名为“.keystore”)
-alias       产生别名
-keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中)
-keyalg      指定密钥的算法 (如 RSA  DSA(如果不指定默认采用DSA))
-validity    指定创建的证书有效期多少天
-keysize     指定密钥长度
-storepass   指定密钥库的密码(获取keystore信息所需的密码)
-keypass     指定别名条目的密码(私钥的密码)
-dname       指定证书拥有者信息 例如:  "CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码"
-list        显示密钥库中的证书信息      keytool -list -v -keystore 指定keystore -storepass 密码
-v           显示密钥库中的证书详细信息
-export      将别名指定的证书导出到文件  keytool -export -alias 需要导出的别名 -keystore 指定keystore -file 指定导出的证书位置及证书名称 -storepass 密码
-file        参数指定导出到文件的文件名
-delete      删除密钥库中某条目          keytool -delete -alias 指定需删除的别  -keystore 指定keystore  -storepass 密码
-printcert   查看导出的证书信息          keytool -printcert -file yushan.crt
-keypasswd   修改密钥库中指定条目口令    keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new  新密码  -storepass keystore密码  -keystore sage
-storepasswd 修改keystore口令      keytool -storepasswd -keystore e:/yushan.keystore(需修改口令的keystore) -storepass 123456(原始密码) -new yushan(新密码)
-import      将已签名数字证书导入密钥库  keytool -import -alias 指定导入条目的别名 -keystore 指定keystore -file 需导入的证书

 

下面是各选项的缺省值。
-alias "mykey"

-keyalg "DSA"

-keysize 1024

-validity 90

-keystore 用户宿主目录中名为 .keystore 的文件

-file 读时为标准输入,写时为标准输出

 

创建证书
逐个询问生成
keytool -genkey

指定一部分生成
keytool -genkey -alias cms -keyalg RSA -keysize 1024 -validity 4000

 

C:\Documents and Settings\zhao>keytool -genkey -alias cms -keyalg RSA -keysize 1024 -validity 4000
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
  [CMS]:  CMS
您的组织单位名称是什么?
  [gongsi]:  gongsi
您的组织名称是什么?
  [zuzhi]:  zuzhi
您所在的城市或区域名称是什么?
  [chengsi]:  chengshi
您所在的州或省份名称是什么?
  [sheng]:  sheng
该单位的两字母国家代码是什么
  [CN]:  CN
CN=CMS, OU=gongsi, O=zuzhi, L=chengshi, ST=sheng, C=CN 正确吗?
  [否]:  y

输入<cms>的主密码
        (如果和 keystore 密码相同,按回车):

 

查看证书

C:\Documents and Settings\zhao>keytool -list -rfc
输入keystore密码:

Keystore 类型: JKS
Keystore 提供者: SUN

您的 keystore 包含 1 输入

别名名称: cms
创建日期: 2014-10-14
项类型: PrivateKeyEntry
认证链长度: 1
认证 [1]:
-----BEGIN CERTIFICATE-----
MIICNTCCAZ6gAwIBAgIEVDy1sDANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJDTjEOMAwGA1UE
CBMFc2hlbmcxETAPBgNVBAcTCGNoZW5nc2hpMQ4wDAYDVQQKEwV6dXpoaTEPMA0GA1UECxMGZ29u
Z3NpMQwwCgYDVQQDEwNDTVMwHhcNMTQxMDE0MDUzMzM2WhcNMjUwOTI2MDUzMzM2WjBfMQswCQYD
VQQGEwJDTjEOMAwGA1UECBMFc2hlbmcxETAPBgNVBAcTCGNoZW5nc2hpMQ4wDAYDVQQKEwV6dXpo
aTEPMA0GA1UECxMGZ29uZ3NpMQwwCgYDVQQDEwNDTVMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBAJtM5mFea7QOJ8749zN8VzxzaRXht7lGkmR7KgcgAUl+hB6mrhVTDe5VQMgmDk7Npgue0w1d
ZJJUAQATSTqFC+D2+I8dcdVNe+622kXLkpDROcJUKprduAvKakNUWwGsx4mrfaJplP/JaqkhKzxH
T3Xb2OSlAdj9/+/wkIsIxg+VAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAEuPvcFDsPw9uBDoAh5sy
52zCdiBNegazwZIPhXwfW2bxKPQqCKosCTHux3GPdI5ShK2p3BAxthuF072jC3DFtubtg2vRwZt9
bO9m1GeCIUVrCIbRv5Y0fMkOKRkHM7t6mbEHAvL/146XReIs8XQsjA8sFFHz0hCkbHd/auK4hek=
-----END CERTIFICATE-----

 

导出证书
默认导出到用户主目录
导出二进制格式证书
keytool -export -alias cms -file cms.cer -storepass 123456
导出base64格式证书
keytool -export -alias cms -file cms.cer -storepass 123456 -rfc


二进制格式证书也可以"另存为"base64格式的证书
双击打开cms.cer 选择详细信息 点击复制到文件 ……



 

 

 

 

 

指定keystore的
keytool -genkey -alias cms -keyalg RSA -keysize 1024 -keystore C:\mykeystore -validity 4000
keytool -list -keystore C:\mykeystore -rfc
keytool -export -alias cms -file cms.cer -keystore C:/mykeystore  -storepass 123456 -rfc

 

java keystore导出证书,导出私钥,导出公钥

 http://happyqing.iteye.com/blog/2139504

 

参考:

java中Keytool的使用总结

http://blog.chinaunix.net/uid-17102734-id-2830223.html

 

  • 大小: 24.3 KB
  • 大小: 17.7 KB
  • 大小: 16.7 KB
  • 大小: 11.6 KB
  • 大小: 17.7 KB
分享到:
评论

相关推荐

    java keytool安全证书学习

    Java Keytool是一个强大的工具,主要用于管理和操作密钥对和数字证书,这些是Java安全框架中的核心元素。在Java Secure Socket Extension (JSSE) 中,它扮演着创建和管理KeyStore和TrustStore的角色,以实现SSL/TLS...

    Keytool与数字证书

    **Keytool** 是 Java 开发工具包(JDK)中的一个实用程序,用于管理密钥库(key stores),其中包括私钥(private keys)及其对应的公钥证书(public key certificates)。密钥库是一个存储密钥和证书的地方,可以用来管理和...

    keytool查询apk证书指纹.zip

    `keytool`是Java开发工具包(JDK)中提供的一个命令行工具,用于管理和创建密钥对以及数字证书,包括查询APK的签名信息。本篇将详细讲解如何使用`keytool`来查询APK的证书指纹,包括MD5、SHA1和SHA256等安全摘要算法...

    java keytool使用例子

    总之,Java Keytool是Java环境下的强大工具,通过它我们可以方便地创建、管理和维护数字证书和密钥对,为网络安全提供基础保障。了解并熟练使用Keytool,对于进行安全的Java应用开发和系统运维至关重要。

    Java&keytool生成RSA密钥

    Java和Keytool生成RSA密钥对是网络安全领域中常见的操作,尤其在进行数据加密、数字签名和SSL/TLS证书管理时。RSA是一种非对称加密算法,它基于两个密钥:公钥和私钥,公钥用于加密,私钥用于解密。Keytool是Java...

    KeyTool 工具生成X.509证书

    下面是一些主要的KeyTool命令: 1. **生成密钥对**:`keytool -genkeypair` 使用此命令,你可以生成一个新的RSA或DSA密钥对,并将其存储在Keystore中。你需要提供Keystore的文件路径、别名、密码以及密钥对的相关...

    javakeytool支持的类型及如何将证书导入jks中.docx

    要从某个文件中导入某个证书,使用 keytool 工具的-import 命令。例如: keytool -import -file mycert.der -keystore mykeystore.jks 如果在 -keystore 选项中指定了一个并不存在的密钥仓库,则该密钥仓库将被...

    JDK中利用keytool创建自签名证书

    这个命令会引导你通过一系列交互式提示,如个人信息、组织信息等,来创建证书请求。完成后,`mycert.jks` 文件将包含你的自签名证书。 在Java程序中,你可以使用 `KeyStore` 类来加载这个 keystore 文件,并使用 `...

    JAVA keytool数字证书生成及应用

    在命令行中,你可以使用`keytool`命令来创建一个新的Key Pair(密钥对),并将其存储在Keystore中。例如,以下命令将生成一个名为`mykey`的密钥对,使用RSA算法,有效期为365天: ```shell keytool -genkeypair -...

    keytool生成证书

    Keytool是Java提供的一款工具,主要用于管理密钥对(公钥和私钥)以及数字证书,它允许用户创建、存储和管理这些安全组件。在本主题中,我们将深入探讨如何使用keytool生成证书及其相关概念。 首先,让我们了解什么...

    [重要]Java代码验证keytool工具生成的密钥对

    Keytool是Java Development Kit(JDK)自带的一个命令行工具,用于管理公钥/私钥对和数字证书,这些在网络安全中扮演着至关重要的角色。 在Java环境中,keytool工具允许开发者生成、存储和管理密钥对。生成密钥对的...

    Java KeyTool使用

    下面是使用 KeyTool 的详细指南,包括创建密钥对、导出证书、将证书导入 Java 信任证书库等内容。 生成密钥对 KeyTool 提供了生成密钥对的功能,用于创建数字证书。可以使用以下命令生成密钥对: `keytool -...

    https证书生成工具(openssl和jre(自带keytool)) for windows.rar

    - **生成CSR**:私钥生成后,利用`openssl req`命令创建CSR,填写相关信息,例如`openssl req -new -key private.key -out csr.pem`。 2. **keytool** keytool是Java JRE自带的一个工具,主要用于管理密钥和证书...

    keytool 加密证书制作

    1. **创建Keystore**:使用`keytool -genkeypair`命令创建一个新的Keystore,需要提供像别名、密码、组织信息等详细参数。 2. **生成自签名证书**:通过`keytool -selfcert`命令,可以在Keystore内生成一个自签名的...

    java keytool

    ### Java Keytool 使用详解 #### 一、Keytool 概述 `keytool` 是 Java 提供的一个强大的命令行工具,用于管理和维护 Java 应用程序的安全性,特别是密钥和证书方面。它允许用户创建、导入、导出、查看和删除密钥库...

    KeyTool_GUI

    3. **证书请求**:KeyTool可以创建证书请求(CSR,Certificate Signing Request),然后发送给证书颁发机构(CA)以获取签名的数字证书。 4. **信任锚点**:KeyTool也用于管理信任存储,其中包含了被系统信任的根...

    Linux命令keytool命令 – 密钥和证书管理工具.docx

    `keytool`是Java开发工具包...了解和熟练使用`keytool`命令对于管理Java和Linux环境中的安全性至关重要,尤其是涉及SSL/TLS通信和数字签名等场景。通过正确配置和管理密钥库,可以确保网络通信的安全性和数据的完整性。

    命令行keytool使用 证书DN生成数字证书容器 空格

    总结来说,通过`keytool`命令行工具,我们可以生成并管理数字证书,包括创建具有特定DN的证书,并结合`ConventPFX.java`这样的工具类,将证书导出为PFX格式,方便在不同环境下的使用。在进行这些操作时,务必确保...

    keytool证书制作工具

    `keytool`是Java开发工具包(JDK)中...综上所述,`keytool`是Java环境下的强大工具,用于管理和操作数字证书,确保网络通信的安全性。通过熟练掌握其用法,开发者可以更好地保护自己的系统和服务免受潜在的安全威胁。

    证书工具KeyTool1.6

    总结起来,KeyTool 1.6作为数字证书工具,是Java环境下的基础安全工具,对于任何需要处理加密通信的开发者来说,理解和熟练使用KeyTool都是非常必要的。通过掌握如何生成、管理以及交互数字证书,我们可以确保网络...

Global site tag (gtag.js) - Google Analytics