密钥加载的使用 PKCS8EncodedKeySpec 使用说明
来源:互联网 发布:手机端淘宝详情页高度 编辑:程序博客网 时间:2024/06/16 17:51
PKCS8EncodedKeySpec类继承EncodedKeySpec类,以编码格式来表示私钥。
PKCS8EncodedKeySpec类使用PKCS#8标准作为密钥规范管理的编码格式,该类的命名由此得来。
// 用编码格式来表示私钥
public class PKCS8EncodedKeySpec
extends EncodedKeySpec
(1)方法详述
可通过如下方法实例化对象:
// 根据给定的编码密钥创建一个新的 PKCS8EncodedKeySpec
public PKCS8EncodedKeySpec(byte[] encodedKey)
以下两种方法均依照PKCS #8标准:
// 返回按照 PKCS#8标准编码的密钥字节
public byte[] getEncoded()
// 返回与此密钥规范相关联的编码格式的名称。将得到字符串"PKCS#8"
public String getFormat()
(2)实现示例
下面根据前面介绍的实现示例来展示如何获得私钥对象。
通过获得的密钥对,我们来获得私钥密钥编码字节数组:
// 获得私钥密钥字节数组
byte[] privateKeyBytes = keys.getPrivate().getEncoded();
最后,我们将获得私钥对象:
// 实例化PKCS8EncodedKeySpec对象
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(privateKeyBytes);
// 实例化KeyFactory对象,并指定DSA算法
KeyFactory keyFactory = KeyFactory.getInstance("DSA");
// 获得PrivateKey对象
PrivateKey privateKey = keyFactory.generatePrivate (keySpec);
X509EncodedKeySpec和PKCS8EncodedKeySpec两个类在加密解密环节中经常会用到。密钥很可能会以二进制方式存储于文件中,由程序来读取。这时候,就需要通过这两个类将文件中的字节数组读出转换为密钥对象。
- 密钥加载的使用 PKCS8EncodedKeySpec 使用说明
- RSA使用X509EncodedKeySpec、PKCS8EncodedKeySpec生成公钥和私钥
- ssh密钥的使用
- 密钥对的存储和加载
- win10下sourcetree使用密钥克隆仓库时提示一直在加载的解决办法
- Git的使用-生成密钥
- 密钥的分类,及使用
- 我的产品密钥和使用产品密钥的例子
- C语言中关于带密钥的md5算法库md5lib.h的使用说明
- 使用密钥登陆SSH的方法
- WPA-PSK/WPA2-PSK使用的密钥
- Java-密钥keytool及KeyStore的使用
- ssh密钥的生成与使用
- ios使用UIWebView加载使用说明或者协议等文本方法
- spring 资源加载使用说明
- spring 资源加载使用说明
- .NET使用OpenSSL生成的pem密钥文件(增加size为2048的密钥转换)
- 使用公开密钥机制进行会话密钥
- nginx+uwsgi+django 搭建web
- 基于引导滤波的暗通道优先去雾算法
- 前端面试宝典(一)
- 【VS开发】【计算机视觉】OpenCV读写xml文件《C版本》
- Deep Visual-Semantic Alignments for Generating Image Descriptions总结
- 密钥加载的使用 PKCS8EncodedKeySpec 使用说明
- Java文件上传到FTP
- IOS开发-AFNetWorking NSParameterAssert(URLString)为空
- Elasticsearch、logstash、Kibana的部署文档
- events.js:141 throw er; 解决办法
- Android 快速实现微信支付(真的!很快!)
- C#中Regex.Replace 方法的使用
- RabbitMQ入门教程之二--》spring+rabbitmq简单demo
- Android 外部存储权限分析(4.4后)