`
snrqtdhuqf
  • 浏览: 79596 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

数字证书

    博客分类:
  • Java
 
阅读更多

利用openssl 生成p12文件,

生成密钥对 openssl genrsa -out private.key 2048

 

证书申请     openssl req -new -out root.csr -key private.key

 

自签署证书 openssl x509 -req -in root.csr -out cert.pem -signkey private.key -days 3650

其它证书用CA来签署 openssl x509 -req -in root.csr -out cert.pem -CA cert.pem -CAkey private.key -CAcreateserial -days 3650

 

合成p12文件 openssl pkcs12 -export -clcerts -in cert.pem -inkey private.key -out root.p12

 

利用openssl生成pfx文件

                        openssl genrsa -out private.key 2048

                        openssl req -new -x509 -days 3650 -key private.key -out ca.crt

生成pfx文件     openssl pkcs12 -export -out server.pfx -inkey private.key -in ca.crt

 

package com.test;

import java.io.File;
import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.cert.Certificate;
import java.util.Enumeration;
public class PfxTest {

	@SuppressWarnings("resource")
	public static void main(String[] args) {
		try{
			String pfxFileName = "/home/yunix/keytest1/server.pfx";
			String keyStorePwd = "111111";
			File fpkcs12 = null;
			if(pfxFileName !=null) {
				fpkcs12 = new File(pfxFileName);
			}
			
			FileInputStream fis = new FileInputStream(fpkcs12);
			
			KeyStore keyStore = null;
			try{
				keyStore = KeyStore.getInstance("PKCS12");
			}catch(Exception ex) {
				ex.printStackTrace();
				throw new Exception("exception");
			}
			keyStore.load(fis, keyStorePwd.toCharArray());
			
			Enumeration<String> e = keyStore.aliases();
            String keyAlias = null;
            if (e.hasMoreElements()) // we are readin just one certificate.
            {
                keyAlias = (String)e.nextElement();
                System.out.println("alias=[" + keyAlias + "]");
            }
			
			PrivateKey prikey = (PrivateKey)keyStore.getKey("1",keyStorePwd.toCharArray());
			System.out.println(prikey);
			Certificate cert = keyStore.getCertificate("1");
			PublicKey pubkey = cert.getPublicKey();
			System.out.println(pubkey);
		}catch(Exception e) {
			e.printStackTrace();
		}

	}

}

 

分享到:
评论

相关推荐

    电信数智商用密码数字证书合格检测工具2.1.5版

    SM2数字证书,充分借鉴与吸收了X509数字证书的格式与优点,在考虑RSA算法的优缺点之后,推出的基于商密公钥算法的SM2证书规范,至此,商密算法的数字证书在商用密码应用安全性评估中成为了必须要检测的一个重要环节...

    数字证书实验详细步骤及原理

    数字证书实验详细步骤及原理 数字证书是实现安全通信的重要手段之一。实验目的旨在让学生了解 PKI 体系、用户证书申请和 CA 颁发证书过程、认证服务的安装及配置方法、使用数字证书配置安全站点的方法、使用数字...

    数字签名和数字证书

    在IT安全领域,数字签名和数字证书是两个关键概念,它们在确保数据的完整性和身份验证方面发挥着至关重要的作用。本文将详细解释这两个概念,以及它们之间的关系,并结合C#编程语言,探讨如何实现证书和签名功能。 ...

    标准内部OA系统数字证书应用平台方案

    ### 标准内部OA系统数字证书应用平台方案 #### 一、项目背景 随着信息技术的快速发展,特别是计算机技术、通信技术和互联网技术的进步,社会经济信息化的步伐显著加快。电子政务和电子商务的发展不仅加速了社会...

    ZXCA自信数字证书制作工具

    ZXCA自信数字证书制作工具是一款专为个人和小型组织设计的实用软件,它提供了制作和管理符合国际标准的数字证书的功能。在信息化高度发达的今天,数字证书是网络安全的重要组成部分,尤其是在数据加密、身份验证和...

    vs2017数字证书certificates.rar

    在IT行业中,数字证书在软件开发,特别是Visual Studio 2017(简称VS2017)中扮演着至关重要的角色。它们是确保代码安全、验证开发者身份以及实现安全通信的关键工具。"vs2017数字证书certificates.rar"这个压缩包很...

    java代码生成数字证书

    Java代码生成数字证书涉及到几个关键概念和技术,包括Java的密钥和证书管理、RSA加密算法以及非交互式证书创建。在此,我们将深入探讨这些主题,以便理解如何在Java环境中生成和使用数字证书。 1. **数字证书**:...

    广州数字证书驱动64位

    标题中的“广州数字证书驱动64位”指的是适用于64位操作系统的数字证书驱动程序,这类驱动主要用于确保计算机系统能够正确识别和使用数字证书。在IT领域,数字证书是一种重要的安全工具,它基于公钥加密技术,用于...

    国密数字证书验证-SM2、SM3、SM4

    这些算法在数字证书验证中扮演着至关重要的角色,确保了网络通信的安全和数据的完整性。 首先,我们要了解数字证书。在网络安全中,数字证书是一种电子文档,用于证明网络实体的身份。它包含了持有者的公开密钥、...

    金报税盘税务数字证书驱动2.3.0.13.zip

    金报税盘税务数字证书驱动2.3.0.13.zip是一款专为财务会计人员设计的重要软件包,主要用于报税过程中的数据安全传输和身份验证。这款驱动程序确保了企业在进行电子报税时,能够使用金报税盘这一硬件设备进行安全、...

    辽宁特种行业数字证书安装手册

    ### 辽宁特种行业数字证书安装手册知识点梳理 #### 一、安装证书助手 ##### 1. 寻找安装程序 - **目标**: 找到正确的安装程序图标。 - **操作**: 在计算机或安装介质中查找名为“证书助手”的安装程序。 ##### 2....

    税务系统数字证书应用接口规范.doc

    《税务系统数字证书应用接口规范》是一份详细阐述税务系统中数字证书应用接口的技术文档,旨在规范税务系统中数字证书的身份认证、签名验签以及数字信封加解密等功能的实施。该规范作为税务身份认证系统建设和运行...

    java获取数字证书信息

    ### Java 获取数字证书信息 在本篇文章中,我们将深入探讨如何使用Java来获取数字证书的信息,包括使用TOMCAT和JDK搭建SSL服务的过程、如何用OpenSSL签发证书以及如何支持第三方CA等内容。 #### 一、使用TOMCAT和...

    实训5:配置数字证书服务.docx

    配置数字证书服务 本资源摘要信息将详细介绍如何配置数字证书服务,包括在 DC 上部署企业根 CA、发布证书申请网站、设置证书颁发机构 Web 注册网站等内容。 一、在 DC 上部署企业根 CA 在 DC 上部署企业根 CA 是...

    PKI/CA与数字证书技术大全

    标题"PKI/CA与数字证书技术大全"暗示了主题是关于公钥基础设施(Public Key Infrastructure, PKI)和认证授权机构(Certification Authority, CA),以及与之相关的数字证书技术。这是一套全面的资料,旨在帮助读者...

    C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密

    1:调用.NET2.0的MAKECERT创建含有私钥的数字证书,并存储到个人证书区; 2:将该证书导出为pfx文件,并为其指定一个用来打开pfx文件的password; 3:读取pfx文件,导出pfx中公钥和私钥; 4:用pfx证书中的公钥进行...

    代码签名数字证书(含私钥)_过期证书_过期数字签名强制签名工具_数字签名_证书

    代码签名数字证书是软件开发和分发过程中一个关键的安全组件,尤其在确保用户信任和防止恶意软件方面。本文将深入探讨过期证书、过期数字签名的处理、强制签名工具以及数字签名证书的相关知识。 首先,我们要理解...

    数字证书基础.ppt

    【数字证书基础】\n\n数字证书是网络通信中安全性的基石,用于验证网络实体的身份。在电子交易、电子邮件和网络安全传输中,数字证书扮演着至关重要的角色。它结合了公钥加密技术和证书颁发机构(CA)的信任机制,...

    公钥私钥加密解密数字证书数字签名详解.docx

    ### 公钥私钥加密解密、数字证书与数字签名详解 #### 一、基础知识概述 在探讨公钥私钥加密解密、数字证书以及数字签名之前,我们需要先理解几个核心概念。 **1. 密钥对:** - 在非对称加密技术中,存在两种密钥...

Global site tag (gtag.js) - Google Analytics