`
chenhua_1984
  • 浏览: 1246486 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

CA证书的CAPI(CSP),PKCS11 读取数字证书

    博客分类:
  • java
 
阅读更多

一  JAVA使用microsoft 的CAPI(CSP)读取CA客户端证书

 

package com.mchz.pki.capi;

import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.Enumeration;

public class Main {
	/**
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		KeyStore ks = KeyStore.getInstance("Windows-MY");
		ks.load(null, "12".toCharArray());
		Enumeration<String> aliases = ks.aliases();
		while (aliases.hasMoreElements()) {
			String alias = aliases.nextElement();
			System.out.println("alias: " + alias);
			X509Certificate x509 = (X509Certificate) ks.getCertificate(alias);
			System.out.println(x509.getSubjectX500Principal().toString());
			System.out.println(x509.getSubjectX500Principal().getName("RFC1779"));
			System.out.println(x509.getPublicKey());
//			PrivateKey key = (PrivateKey) ks.getKey("1", "1234".toCharArray());
//			System.out.println(key.toString());
		}
		
	}

}

 二 JAVA使用PKCS11读取CA客户端证书

 

package com.mchz.pki.capi;

import java.security.KeyStore;
import java.security.Provider;
import java.security.Security;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
import java.util.Enumeration;

public class Main2 {

	/**
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		String configName = "F:\\pkcs11.cfg";
		Provider p = new sun.security.pkcs11.SunPKCS11(configName);
		Security.addProvider(p);
		KeyStore ks = KeyStore.getInstance("PKCS11-et199");
//		KeyStore ks = KeyStore.getInstance("Windows-MY");
		ks.load(null, "1234".toCharArray());
		Enumeration<String> aliases = ks.aliases();
		while (aliases.hasMoreElements()) {
			String alias = aliases.nextElement();
			System.out.println("alias: " + alias);
		}
//		X509Certificate x509 = (X509Certificate) ks
//				.getCertificate("alfredxu's MCHZ CLIENT CA ID");
//		System.out.println(x509.getSubjectX500Principal().toString());
	}
}

 

需要使用一个配置文件

 

name=et199
library=F:\\et199csp11.dll
 

还要应用一个针对pkcs11的一个实现的DLL

分享到:
评论

相关推荐

    PKCS11读取UKEY例子

    2. **UKEY**:UKEY通常指的是USB数字证书,它内置了加密芯片,可以存储用户的私钥,并提供安全的私钥操作环境。通过PKCS11接口,可以实现对UKEY中私钥的管理和使用,如进行数字签名、数据加密等操作。 3. **对象...

    基于USBKEY的CSP与PKCS_11互通的实现方法

    ### 基于USBKEY的CSP与PKCS_11互通的实现方法 #### 一、引言 公钥基础设施(Public Key Infrastructure, PKI)作为现代信息社会安全的基石,为网络应用提供了必要的加密和数字签名服务,以及密钥和证书管理功能。PKI...

    csp开源框架 csp 11 (带pkcs)

    1. **API理解**:熟悉CSP 11提供的API,了解如何创建和管理会话、对象(如密钥和证书)、执行加密和签名操作等。 2. **PKCS #11接口**:深入理解PKCS #11标准的结构和函数,如C_Initialize、C_GenerateKey、C_Sign...

    基于USBKEY的CSP与PKCS_11互通的实现方法.pdf

    USBKEY的安全操作系统(COS)通常遵循ISO 7816标准,而CSP和PKCS#11的交互通常需要借助于CryptoAPI、Win32 CryptoAPI或CryptoSPI等加密服务接口。例如,CryptoAPI是Windows系统中用于访问加密服务的一套API,而PKCS#...

    Openssl Engine pkcs11 示例程序

    从OpenSSL的0.9.7版,Engine机制集成到了OpenSSL的内核中,成为了OpenSSL不可缺少的一部分。 Engine机制目的是为了使OpenSSL能够透明地使用第三方提供的软件加密库或者硬件加密设备进行...支持PKCS#11接口的Engine接口

    CSP开发基础大全(CryptoAPI)

    * CryptoAPI是Win32平台下的数据加密和安全编码接口,提供了基本的ASN.1编码、解码、散列、数据加密和解密、数字证书管理等功能。 * CryptoAPI函数集包含了对称和非对称两类算法的支持。 四、信息隐藏 * 信息隐藏...

    Windows CA 证书服务器配置—— Microsoft 证书服务安装

    * 证书服务器:是一个提供证书服务的服务器,可以颁发数字证书。 * 证书服务:是一个提供证书服务的组件,可以安装在 Windows Server 2003 系统上。 * IIS 证书申请服务:是一个提供证书申请服务的组件,可以安装在 ...

    个人数字ca证书制作步骤

    制作个人数字CA证书的过程主要分为系统环境准备、安装数字证书驱动、导入数字证书和系统升级几个环节。 1. **系统环境要求**: - 确保计算机具备USB设备接口。 - 操作系统需要是Windows 2000/2003或WinXP,不支持...

    CA.rar_CA_CA csp_CA系统

    CA系统,全称为Certification Authority,中文名为证书颁发机构,是信息安全领域中的核心组成部分,主要负责数字证书的签发、管理以及撤销。CA系统在电子商务、网络安全、数据传输等方面起着至关重要的作用,确保了...

    利用CSP创建自己的证书

    在这个主题中,我们将深入探讨如何利用微软的 Cryptographic Service Provider(CSP)创建自己的证书颁发机构(CA),发行用户证书,并构建一个简单的PKI体系。 首先,我们要理解什么是CSP。CSP是一种软件组件,它...

    Windows-CA-证书服务器配置(二)-——-申请数字证书.docx

    Windows-CA-证书服务器配置(二)——申请数字证书 Windows-CA-证书服务器配置是 Windows 操作系统中的一种证书服务器配置,主要用于实现身份认证和加密通信。该配置的第二部分是申请数字证书,即申请人向证书...

    图文版 window CA 服务器配置教程

    如果要找回您刚才安装的数字证书,请单击浏览器上的“工具” -&gt; “Internet 选项” -&gt; “内容” -&gt; “证书”,弹出证书个人存储区的窗口。您已经发现,在证书个人存储区内已经安装了您刚刚申请并成功安装的证书。 ...

    Windows CA 证书服务器配置.docx

    Windows CA 证书服务器配置是指在 Windows Server 操作系统上安装和配置证书颁发机构(Certificate Authority,简称 CA),以便提供数字证书服务。以下是 Windows CA 证书服务器配置的详细过程: 一、安装 ...

    Go C 画图 CSP-J CSP-S NOIP 信息学奥赛 2023.07.11 测试题( B ).pdf

    Go C 画图 CSP-J CSP-S NOIP 信息学奥赛 2023.07.11 测试题( B )

    list_cert_delete_cert.rar_数字证书

    描述提到在HTML中利用CAPI(Cryptographic API)Com组件,通过筛选Content Security Policy (CSP) 名称来选择显示特定的数字证书。这里涉及到了网络安全、加密技术以及Web开发的相关知识。 数字证书是网络通信中...

    将P12/PFX导入支持CSP的设备的工具源码

    本源码包的目标是实现一个工具,该工具能够将P12/PFX文件中的数字证书和密钥对导入到这些支持CSP的设备中。这里的关键步骤可能包括: 1. **读取P12/PFX文件**:使用特定的API(如Windows API的`CryptAcquireContext...

    CSP开发基础大全

    数字证书作为一种信任凭证,由权威的证书机构(CA)颁发,用以证明公钥持有者的身份。 3. **完整性检测**:在数据传输过程中,CryptoAPI通过散列算法等机制检测数据是否被篡改,确保接收到的数据与发送时完全一致。...

Global site tag (gtag.js) - Google Analytics