读取公钥可以使用JAVA本身的类即可。
读取私钥可以使用http://www.bouncycastle.org提供的类。
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.InvalidKeyException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.PrivateKey;
import java.security.SignatureException;
import java.security.UnrecoverableKeyException;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
public class KeyReader {
public static void main(String[] args) throws KeyStoreException,
NoSuchProviderException, NoSuchAlgorithmException,
CertificateException, IOException, UnrecoverableKeyException,
InvalidKeyException, SignatureException {
// Open an input stream on the keystore file
String cerFileName = "d:/certA.cer";
String p12FileName = "d:/certA.p12";
String pfxPassword = "openssl";
InputStream fis = new FileInputStream(p12FileName);
// Create a keystore object
KeyStore keyStore = KeyStore.getInstance("PKCS12", "BC");
// Load the file into the keystore
keyStore.load(fis, pfxPassword.toCharArray());
String aliaesName = "abcd";
PrivateKey priKey = (PrivateKey) (keyStore.getKey(aliaesName, null));
System.out.println("private key:\n" + priKey);
// public key
InputStream is = new FileInputStream(cerFileName);
CertificateFactory cf = CertificateFactory.getInstance("x509");
Certificate cerCert = cf.generateCertificate(is);
System.out.println("public key:\n" + cerCert);
}
}
分享到:
相关推荐
在Java中,我们可以使用Java Cryptography Extension (JCE) 库来生成和操作RSA密钥对,包括公钥和私钥。 生成RSA公钥和私钥的基本步骤如下: 1. **创建KeyPairGenerator对象**:首先,我们需要创建一个...
在本篇文章中,我们将深入探讨如何使用Java来获取数字证书的信息,包括使用TOMCAT和JDK搭建SSL服务的过程、如何用OpenSSL签发证书以及如何支持第三方CA等内容。 #### 一、使用TOMCAT和JDK搭建SSL服务 ##### 1. ...
当需要从一个HTTPS服务器获取数据时,尤其是涉及敏感信息时,Java应用程序可能需要读取和信任特定的SSL证书来建立安全连接。本篇将深入探讨如何在Java中实现这一过程,重点关注读取不同格式的证书(如cer、der、crt...
在本场景中,我们关注的是如何从RSA.PFX证书中提取XML或PEM格式的公钥和私钥。 PFX(Personal Information Exchange)文件是微软定义的一种证书存储格式,它包含了用户的数字证书和相应的私钥,通常用于跨平台的...
国密算法是我国自主研发创新的一套数据加密处理系列算法,很多项目都在用了,所以用Java代码生成的基于国密算法签发的sm2 证书,放到资源里面方便大家下载使用。
在Java中,我们可以使用Java Cryptography Extension (JCE)框架来处理RSA密钥对和数字证书。JCE提供了丰富的类库,如`KeyPairGenerator`用于生成密钥对,`KeyStore`用于管理数字证书,以及`Cipher`用于加密和解密...
4. **`java.security.cert.CRL`接口**:Java标准库提供了CRL接口,通过`CertificateFactory`的`generateCRL`方法可以从输入流中加载CRL,然后可以调用`getRevokedCertificates`获取被撤销的证书列表。 5. **证书链...
本文将详细探讨SM2算法的原理、使用场景,以及在前端js中实现加解密和签名验签的方法,同时参考sm-crypto库的使用。 首先,SM2算法的核心是椭圆曲线加密,它利用椭圆曲线上的数学性质来构建公钥和私钥。公钥是可以...
在给定的场景中,我们将探讨如何使用Java读取PFX(Personal Information Exchange)格式的数字证书,以及如何应用RSA算法来加密和解密文件。 首先,PFX文件是一种包含证书和私钥的安全存储格式,通常用于网络通信和...
C#中同样使用`X509Certificate2`类来读取CER文件。 4. **数字签名**:数字签名是RSA算法的一个应用,用于验证数据的完整性和发送者的身份。在C#中,`RSACryptoServiceProvider`类的`SignData`方法可以用于生成签名...
Java证书的加密与解密是Java安全领域中的一个重要概念,主要涉及到数字证书、公钥加密、私钥解密以及SSL/TLS协议等知识点。在这个主题中,我们将深入探讨这些概念及其在实际应用中的使用。 首先,Java证书是用于...
在命令行环境中,你可以按照以下步骤使用OpenSSL来生成私钥与公钥: 1. 生成RSA密钥对: 使用`openssl genpkey -algorithm RSA -out private_key.pem`命令生成一个RSA私钥,`private_key.pem`是私钥文件名。 2. ...
这个类文件很可能包含了实现数字证书读取功能的Java代码,允许程序在运行时解析和处理cer文件中的信息。 "CertInfo.java"是源代码文件,我们可以从中了解如何在Java中操作数字证书。在Java中,处理数字证书通常涉及...
总之,Java 手工读取 EJBCA 证书并进行加解密操作涉及证书的获取、解析、公钥加密和私钥解密,同时要注意证书的安全管理和使用。这些步骤是 PKI 系统中进行安全通信的基础。在实际项目中,应结合具体的业务需求和...
在 Java 中,可以使用 java.security.cert 包下的类和方法来生成和解析数字证书。 证书的概念 数字证书是一种电子证书,它包含了公钥、所有者身份信息、颁发者身份信息、有效期限等信息。数字证书可以用于身份验证...
在PKCS11_Sample中,我们可以看到如何使用上述接口实现对UKEY的读取和操作,例如打开会话、查找私钥对象、进行用户登录、执行签名或加密操作,然后关闭会话。通过分析这个示例代码,我们可以更好地理解PKCS11的工作...
在这个“支付宝获取公钥和私钥工具”中,我们主要会讨论如何使用开源工具`openssl`来生成这些密钥对。 `openssl`是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现工具,同时也提供了多种加密算法和证书...
二、从文件中读取证书: 证书可以从存储在文件中的格式(如PEM或DER)加载。以下是一个例子,展示如何使用`CertificateFactory`读取X.509证书: ```java CertificateFactory cf = CertificateFactory.getInstance(...
### Java数字证书实例详解 #### 一、所需导入的包 ...以上步骤展示了如何在Java中实现数字证书的基本操作,包括从文件或密钥库中读取证书、展示证书信息、更新密钥库密码等。这对于开发安全的网络应用非常有用。
本篇文章将深入探讨如何在C#中使用RSA算法处理pfx和cer密钥文件,进行签名验证、加密和解密,并介绍如何实现C#与Java之间的公钥私钥互转。 首先,`pfx`文件是一种包含证书和私钥的二进制文件,通常用于存储服务器...