我们的服务遍布中国

我们的服务遍布中国
乃至世界

光网所服务的品牌地域与城市
北京 天津 上海 广州 深圳 香港 厦门 江苏 浙江 山东
重庆 长沙 武汉 成都 西安 宁夏 丽江 青海 云南 乌鲁木齐
黑龙江 内蒙古 河北 ...
光网服务与合作的全球各地
美国 加拿大 德国 法国 英国 瑞士 意大利 荷兰
印度 日本 韩国 ...

不论你的品牌在何处
我们都可以提供完善的服务与帮助

致电

0512-56969630
您所在的位置:首页 > SSL证书

什么是公钥和私钥?

发布时间:2013/12/7 8:48:15 浏览:1347打印字号:

公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

数字证书是一个经证书授权中心(CA)数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。

阿里云证书服务对您密钥的加密算法和长度有如下要求:加密算法使用RSA,加密长度至少2048,推荐您使用2048位,SHA256摘要算法。

您可以通过如下方式创建私钥:

一. 使用OpenssL生成私钥。
OpenssL是一个强大且应用广泛的安全基础库工具,您可以在 http://www.openssl.org/source/ 来获取最新的openssl安装包(版本要>=1.0.1g)。

在命令行模式下运行:
openssl genrsa -out myprivate.pem 2048 

来生成您的私钥文件: myprivate.pem, 其中"2048"是加密长度


二. 使用Keytool导出私钥。
Keytool是JDK中自带的密钥管理工具,可以制作Keystore(jks)格式的证书文件,您可以在 http://www.oracle.com/technetwork/java/javase/downloads/index.html 中下载JDK来获取keytool工具。

因为keystore制作公钥和私钥默认是不可以导出的,所以需要您从已经创建好的 .keystore 文件中导出私钥。
从 .keystore 中导出私钥需要参考  主流数字证书都有哪些格式?中的转换方法1和4。

在导出的文件中
-----BEGIN RSA PRIVATE KEY-----
......
-----END RSA PRIVATE KEY-----
或者类似于
-----BEGIN PRIVATE KEY-----
......
-----END PRIVATE KEY-----
的即是私钥。


无论哪种方式生成密钥,都请您完善的保护好您的私钥文件,私钥文件如果丢失或者损坏,您申请对应的公钥/数字证书将无法使用。