PFX 或 P12
指以pkcs#12格式存储的证书和相应私钥。PKCS#12是公钥加密标准,它规定了可包含所有私钥、公钥和证书。其以二进制格式存储,也称为 PFX 文件。
在windows中可以直接导入到密钥区,注意,PKCS#12的密钥库保护密码同时也用于保护Key。
PKCS#12通常采用PFX,P12作为文件扩展名,用于存放用户证书、crl、用户私钥以及证书链。pkcs12中的私钥是加密存放的。
思科是.p12,微软是.pfx
JKS
通常可以将Apache/OpenSSL使用的“KEY文件 + CRT文件”格式”转换为标准的Java Key Store(JKS)文件。JKS文件格式被广泛的应用在基于Java的WEB服务器、应用服务器、中间件。你可以将JKS文件导入到TOMCAT、 WEBLOGIC 等软件。
查看jks格式的证书: keytool -list -v -keystore server.jks
CSR
证书请求文件(Certificate Signing Request)。生成 X509 数字证书前,一般先由用户提交证书申请文件,然后由 CA 来签发证书。大致过程如下(X509 证书申请的格式标准为 pkcs#10 和 rfc2314):
用户生成自己的公私钥对;
构造自己的证书申请文件,符合 PKCS#10 标准。该文件主要包括了用户信息、公钥以及一些可选的属性信息,并用自己的私钥给该内容签名;
用户将证书申请文件提交给 CA;
CA 验证签名,提取用户信息,并加上其他信息(比如颁发者等信息),用 CA 的私钥签发数字证书;
说明:
数字证书(如x.509)是将用户(或其他实体)身份与公钥绑定的信息载体。
一个合法的数字证书不仅要符合 X509 格式规范,还必须有 CA的签名。
用户不仅有自己的数字证书,还必须有对应的私钥。
X509v3数字证书主要包含的内容有:证书版本、证书序列号、签名算法、颁发者信息、有效时间、持有者信息、公钥信息、颁发者 ID、持有者 ID 和扩展项。
查看证书内容:
openssl req -noout -text -in server.csr
openssl req -noout -text -in server.csr -inform der
PEM
Openssl使用 PEM(Privacy Enhanced Mail)格式来存放各种信息,它是 openssl 默认采用的信息存放方式。Openssl 中的 PEM 文件一般包含如下信息:
内容类型:表明本文件存放的是什么信息内容,它的形式为“——-BEGIN XXXX ——”,与结尾的“——END XXXX——”对应。
头信息:表明数据是如果被处理后存放,openssl 中用的最多的是加密信息,比如加密算法以及初始化向量 iv。
信息体:为 BASE64 编码的数据。可以包括所有私钥(RSA 和 DSA)、公钥(RSA 和 DSA)和 (x509) 证书。它存储用 Base64 编码的 DER 格式数据,用 ascii 报头包围,因此适合系统之间的文本模式传输。
查看PEM证书文件内容:
openssl x509 -in tls-video.pem -inform pem -noout -text
DER
辨别编码规则 (DER) 可包含所有私钥、公钥和证书。它是大多数浏览器的缺省格式,并按 ASN1 DER 格式存储。它是无报头的 - PEM 是用文本报头包围的 DER。
二进制编码
CER - 一般指使用DER格式的证书。
查看cer证书:
openssl x509 -noout -text -in server.cer
CRT - 证书文件。可以是PEM格式。
KEY - 一般指PEM格式的私钥文件。
查看KEY的内容:
openssl rsa -noout -text -in server.key
openssl rsa -noout -text -in server.key -inform der
X.509是一种证书格式,一般以.crt结尾,根据该文件的内容编码格式,可以分为以下二种格式:
PEM - Privacy Enhanced Mail,打开看文本格式,以"-----BEGIN..."开头, "-----END..."结尾,内容是BASE64编码。Apache和*NIX服务器偏向于使用这种编码格式。
PAM编码(Base64)的后缀是:.PEM .CER .CRT
DER - Distinguished Encoding Rules,打开看是二进制格式,不可读。Java和Windows服务器偏向于使用这种编码格式。
DER编码(ASCII)的后缀是: .DER .CER .CRT
keytool 将密钥和证书储存在一个所谓的密钥仓库(keystore)中。缺省的密钥仓库实现将密钥仓库实现为一个文件。它用口令来保护私钥。
查看密钥仓库里的内容:
keytool -list -rfc -keystore mykeystore.jks
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
安全证书既包含了用于加密数据的密钥,又包含了用于证实身份的数字签名。安全证书采用公钥加密技术。公钥加密是指使用一对非对称的密钥进行加密或解密。每一对密钥由公钥和私钥组成。用公钥加密的数据只能够被私钥解密。反过来,使用私钥加密的数据只能被公钥解密。
证书格式转换:
crt > cer
openssl x509 -inform der -in client.crt -out client.cer
pem > cer:
openssl x509 -in client.pem -out client.cer
pem > p12:
openssl pkcs12 -export -in server.pem -out server.p12
cer > jks:
keytool -importcert -file client.cer -keystore client.jks -storepass 123456
crt > jks:
keytool -importcert -alias CA -file CA.crt -keystore CA.jks -storepass 123456
crt > der:
openssl x509 -in server.crt -out server.der -outform DER
相关推荐
数字证书格式详细说明 数字证书是公钥加密系统中不可或缺的一部分,它用于身份验证、数据加密和数字签名。常见的数字证书格式有 X.509,它定义了两种证书:公钥证书和属性证书。 X.509 证书格式由以下部分组成: ...
《数字证书格式详解与操作指南》 数字证书在网络安全中扮演着至关重要的角色,它用于确认网络实体的身份,确保信息传输的安全性。本文将深入探讨常见的数字证书格式、它们的区别以及相关的操作方法。 1. 数字证书...
SM2数字证书,充分借鉴与吸收了X509数字证书的格式与优点,在考虑RSA算法的优缺点之后,推出的基于商密公钥算法的SM2证书规范,至此,商密算法的数字证书在商用密码应用安全性评估中成为了必须要检测的一个重要环节...
本文将深入探讨“数字证书查看、拆分和格式转换工具”这一主题,涉及的关键词包括“SSL”、“keystore”、“crt”和“key”。 首先,让我们了解SSL(Secure Sockets Layer)和它的升级版TLS(Transport Layer ...
GMT 0015-2012 基于SM2密码算法的数字证书格式文档,密码123456
【数字证书内容格式】 数字证书是一种在网络中验证身份的重要机制,它通过将用户的身份信息与对应的公钥结合,经过特定的编码规则,并由一个可信的第三方机构(通常称为证书颁发机构,CA)进行数字签名来生成。国际...
首先,"certnew.cer"文件是一个常见的数字证书格式,它通常包含了公开密钥、证书颁发机构(CA)信息、证书持有者的身份信息等。这个证书可能是用于演示或者测试目的,以便在Java程序中进行读取和处理。 其次,...
X.509 数字证书是一种常用的数字证书格式,用于身份验证和加密通信。在本文中,我们将详细分析 X.509 数字证书的内部结构和编码方式,以帮助读者更好地理解 X.509 格式。 一、X.509 数字证书的编码 X.509 数字证书...
民航局数字证书使用手册 包括怎样可以获取民航飞行员资格 身体要求 学校选择等等详细资料
左边是一个TreeView,这个区域显示树型的Asn1层次的数据。 右上是一个显示16进制的View,可以显示,地址,数据,ascII数据。 右下,解释数据的类型,长度,内容,比如名字,字符串,oid,时间等
5. **证书处理**:`java.security.cert.CertificateFactory`用于解析和生成X.509证书,这是最常用的数字证书格式。 6. **密钥库操作**:`keytool`命令行工具或Java API(如`KeyStore`类)用于管理密钥库,包括导入、...
可用的p12格式数字证书,密码1234。。
ZXCA自信数字证书制作工具是一款专为个人和小型组织设计的实用软件,它提供了制作和管理符合国际标准的数字证书的功能。在信息化高度发达的今天,数字证书是网络安全的重要组成部分,尤其是在数据加密、身份验证和...
在IT行业中,数字证书在软件开发,特别是Visual Studio 2017(简称VS2017)中扮演着至关重要的角色。它们是确保代码安全、验证开发者身份以及实现安全通信的关键工具。"vs2017数字证书certificates.rar"这个压缩包很...
Java代码生成数字证书涉及到几个关键概念和技术,包括Java的密钥和证书管理、RSA加密算法以及非交互式证书创建。在此,我们将深入探讨这些主题,以便理解如何在Java环境中生成和使用数字证书。 1. **数字证书**:...
6. **X.509标准**:数字证书的标准格式,定义了证书的结构和包含的信息,如证书版本、序列号、主体和发行者的标识信息、有效日期、公钥和签名算法等。 7. **证书信任模型**:根CA、中间CA以及用户证书之间的信任...
\n\nX.509是国际电信联盟制定的一套数字证书的标准格式,它规定了证书的结构和包含的信息,如证书持有者的名称、公钥、有效期、发行者(CA)等。X.509证书通常包含一个数字签名,该签名由CA使用其私钥对证书内容进行...
在IT领域,数字证书是一种重要的安全机制,尤其是在网络通信中,用于验证参与者的身份。Java作为广泛使用的编程语言,提供了对数字证书的强大支持。本文将深入探讨Java中的数字证书概念,生成过程,以及相关的文档...