社区
云安全
帖子详情
怎样根据已有的公钥和私钥生成数字证书?
大数据专家傅一航
2009-06-19 02:01:23
我已经有公钥和私钥,怎样生成数字证书?
...全文
2930
7
打赏
收藏
怎样根据已有的公钥和私钥生成数字证书?
我已经有公钥和私钥,怎样生成数字证书?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
newhoodcn
2012-05-26
打赏
举报
回复
证书是不可能生成私钥文件的。
否则,证书时公开的,任何人都可以拿到私钥,也就失去了公开秘钥算法的意义。
System32Video
2012-02-27
打赏
举报
回复
怎么用证书生成私钥文件啊
0x16
2009-08-17
打赏
举报
回复
详情查看:http://lovesea.blog.51cto.com/382446/95572
0x16
2009-08-17
打赏
举报
回复
是的,openssl可以。
1.首先要生成服务器端的私钥(key文件):
openssl genrsa -des3 -out server.key 1024
运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!
去除key文件口令的命令:
openssl rsa -in server.key -out server.key
2.openssl req -new -key server.key -out server.csr -config openssl.cnf
生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.
3.对客户端也作同样的命令生成key及csr文件:
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config openssl.cnf
4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf
5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:
Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
Openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
现在我们所需的全部文件便生成了.
另:
client使用的文件有:ca.crt,client.crt,client.key
server使用的文件有:ca.crt,server.crt,server.key
.crt文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了)
漫天飞花
2009-07-29
打赏
举报
回复
用openssl也可以啊
hblhshb
2009-07-28
打赏
举报
回复
http://download.csdn.net/source/1454712
这有个工具可以做
物联网安全_实验9 信息保密性、完整性和不可抵赖性的综合应用.doc
1、PGP概述 PGP(Pretty Good Privacy)的创始人是美国的Phil Zimmermann(菲利普•齐默曼),他在1991年把 RSA
公钥
体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计。因此 PGP 成为几乎最流行的公匙加密软件包。PGP有不同的实现,如GnuPG和Gpg4win,其中GnuPG(Gnu Private Guard,简写为GPG)的核心算法是PGP,GnuPG本身是为Linux等开源操作系统设计的;而Gpg4win是windows下GnuGPG及图形前端的合集安装包,其核心为GnuPG,包括:(1)Kleopatra和GPA:GPG的密钥管理器,用于
生成
、导入和导出GPG密钥(包括
公钥
和
私钥
);(2)GpgOL:Outlook 的GPG支持插件;(3)GpgEX:资源管理器的GPG支持插件;(4)Claws Mail:内置GPG支持的邮件客户端。 PGP是一个基于RSA
公钥
加密体系的加密软件,是开源且免费的,后经互联网志愿者发展完善并广泛应用,具有如下特点:(1)选择最可用的加密算法作为系统的构造模块,所用算法已被广泛检验过,相当安全;并将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,并且基于一个使用方便的小命令集;(2)是一个开源项目,程序、文档在Internet上公开;(3)可以免费得到运行于多种平台上的PGP版本,具有广泛的可用性;(4)不由任一政府或标准化组织所控制,使得PGP得到了广泛信任;(5)与商业公司(Network Associates)合作,提供一个全面兼容的、低价位的商业版本PGP。2010年6月被赛门铁克公司收购。由于这些特点,使得PGP得到了广泛的应用。 PGP常用的版本是PGP Desktop Professional,它可以用来加密文件,可以用来对邮件保密以防止非授权者阅读,还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。同时,通过使用
公钥
密码算法,可以提供一种事先并不需要任何保密的渠道用来传递密匙的安全通讯方式。PGP功能强大,而且具有很快的速度,PGP提供的主要功能如表1.7.1所示。 表1.7.1 PGP的功能概述 功能 使用的算法 描述 消息加密 IDEA、CAST、3DES、TwoFish、ElGamal、RSA 发信人产生一次性会话密钥加密,用IDEA或CAST-128或3DES算法对消息进行加密;采用ElGamal或RSA算法用接收方的
公钥
加密会话密钥 数字签名 DSS/SHA-1、RSA/MD5 采用SHA-1或MD5消息摘要算法计算消息的摘要值(散列码),用发送者的
私钥
按DSS或RSA算法加密消息摘要 压缩 PKZIP 消息在传送和存储时可使用PKZIP压缩 E-mail兼容性 Radix-64 对E-mail应用提供透明性,采用基数64编码将加密后的消息(二进制流)转换为ASCII字符串 数据分段 - 为了适应最大消息长度限制,PGP执行分段和重新组装 2、PGP的密钥管理 PGP是一种混合密码系统,应用了多个密码算法,包括对称密码算法、非对称密码算法、消息摘要算法、数字签名等经典的密码学算法。为用户
生成
密钥对之后,可以进行邮件的加密、签名、解密和认证。在PGP中使用的加密算法和用途如表1.7.2所示。 表1.7.2 PGP中采用的各种密码算法及用途 密钥名 加密算法 用途 会话密钥 IDEA、AES 对传送消息的加解密,随机
生成
,一次性使用
公钥
RSA、Diffie-Hellman 对会话密钥加密,收信人和发信人共用
私钥
DSS/SHA、RSA/SHA 对消息的杂凑值加密以形成签名,发信人专用 口令 IDEA 对
私钥
加密以存储于发送端 从上表可以看出,PGP使用了四种类型的密钥:一次性会话传统密钥、
公钥
、
私钥
和基于口令短语的传统密钥/通行字短语。 会话密钥按ANSI X9.17标准,采用IDEA算法,以密文反馈模式(CFB)
生成
。当PGP用RSA算法为用户
生成
一个新的
公钥
/
私钥
对时,PGP会要求用户提供一个口令短语,对该短语使用MD5/SHA-1消息摘要算法
生成
一个散列码后,销毁该短语,从而把用户输入的口令短语转化为IDEA/CAST-128密钥,再使用这个密钥加密
私钥
,然后销毁这个散列码,并将加密后的
私钥
存储到
私钥
环中。当用户要访问
私钥
环中的
私钥
时,必须提供口令短语。PGP将取出加密后的
私钥
,
生成
散列码,解密
私钥
。 一个用户可能拥有多个
公钥
/
私钥
对,正确识别加密会话密钥和签名所用的特定
公钥
/
私钥
对的一个最简单的解决方案是将
公钥
和消息一起传送。但这种方式浪费了不必要的空间。PGP采用的解决方案是给每个
公钥
分配一个密钥标识(KeyID),并以极大的概率与用户标识(UserID)一一对应,即UserID和KeyID标识一个密钥。密钥标识至少为64位,因而密钥标识重复的可能性非常小。 PGP提供一种系统化的密钥管理方案来存储和组织这些密钥以保证有效使用这些密钥,它为每个节点(用户机器)提供一对数据结构,一个用于存放本节点自身的
公钥
/
私钥
对(即
私钥
环),另一个用于存放本节点知道的其他用户的
公钥
(即
公钥
环)。
私钥
环信息:时间戳、KeyID、
公钥
、
私钥
、UserID,其中UserID通常是用户的邮件地址。也可以是一个名字,可以重名;
公钥
环信息:时间戳、KeyID、
公钥
、对所有者信任度、用户ID、密钥合法度、签名、对签名者信任度,其中UserID为
公钥
的拥有者。多个UserID可以对应一个
公钥
。
公钥
环可以用UserID或KeyID索引。 如何保证用户
公钥
环上的
公钥
确实是指定实体的合法
公钥
,这是一个至关重要的问题。PGP提供几种可选的方案以减少用户
公钥
环中包含错误
公钥
的可能性:(1)物理上得到对方的
公钥
。这种方式最可靠,但有一定局限性;(2)通过电话验证
公钥
;(3)从双方都信任的第三方(个体或CA)处获得对方的
公钥
。 此外,PGP支持密钥管理服务器,用户可以将
公钥
发布在集中的密钥服务器上,供他人访问。 3、PGP的消息处理过程 PGP消息分成原始消息、签名部分和会话密钥部分三个部分。 PGP发送方处理消息的过程为:(1)签名:利用UserID作为索引,从
私钥
环中得到
私钥
;PGP提示输入口令短语,恢复
私钥
;构造签名部分;(2)加密:PGP产生一个会话密钥,并加密消息;PGP用接收者UserID从
公钥
环中获取其
公钥
;构造消息的会话密钥部分。 PGP接收方处理消息的过程为:(1)解密消息:PGP用消息的会话密钥部分中的KeyID作为索引,从
私钥
环中获取
私钥
;PGP提示输入口令短语,恢复
私钥
;PGP恢复会话密钥,并解密消息;(2)验证消息:PGP用消息的签名部分中的KeyID作为索引,从
公钥
环中获取发送者的
公钥
;PGP恢复被传输过来的消息摘要;PGP对于接收到的消息计算摘要,并与上一步的结果作比较。 4、PGP的信任模型 由于PGP重在广泛地在正式或非正式环境下的应用,所以它没有建立严格的
公钥
管理模式。尽管PGP没有包含任何建立认证权威机构或建立信任体系的规范,但它提供了一个利用信任关系的方法,将信任关系与
公钥
联系起来。PGP定义了与基于X.509真实的
公钥
基础设施(PKI)不同的证书模型,即所谓“信任网(Web of Trust)”模型。传统PKI模型依赖于CA层次体系验证证书和其中的密钥。而PGP模型则允许多重地、独立地而非特殊可信个体签署的“名字/密钥”关联来证明证书的有效性,其理论是认为“只要有足够的签名,<名字/密钥>关联就是可信的,因为不会所有的签名者都是‘坏’的”。PGP的信任网就像人际关系网一样,通过下述方式让使用
公钥
的人相信
公钥
是其所声称的持有者:(1)直接来自所信任人的
公钥
;(2)由所信赖的人为某个自己并不认识的人签署的
公钥
。因此,在PGP中得到一个
公钥
后,检验其签名,如果签名人自己认识并信赖他,就认为此
公钥
可用或合法。这样,通过所认识并信赖的人,就可以和总多不认识的人实现PGP的安全E-mail通信。 具体而言,在PGP中是通过在
公钥
环中的下述3个字段来实现Web of Trust信任模型的:(1)密钥合法性字段(key legitimacy field):指示用户
公钥
合法性的可信等级。信任级别越高,则用户标识UserID与密钥间的绑定关系就越强。这个字段是由PGP计算的;(2)签名信任字段(signature trust field):每一个
公钥
项都有一个或者多个签名,这是
公钥
环主人收集到的、能够认证该
公钥
项的签名。每一个签名与一个signature trust field关联,指示PGP用户信任签名者对此
公钥
证明的程度。key legitimacy field 是由多个signeture trust field 导出的;(3)所有者信任字段(owner trust field):指示此
公钥
对其他
公钥
证书进行签名的信任程度。这个信任程度是由用户给出的。 PGP使用以个人为中心的信任模型,采取一种“社会信任链”的方式进行
公钥
分发。在这种方式下,用户可以自行决定对周围的联系人是否信任,并可以决定信任度的高低。用户只接收信任的朋友传送来的
公钥
,并且这些
公钥
都带有签名。这种方式反映了社会交往的本质,比较适合一般场合下的安全通信。 本实验通过实际操作,了解PGP/GPG4Win软件的常用功能,利用PGP/GPG4Win软件实现密钥管理、对文件和电子邮件的签名与加密等操作。
论文研究-一种高效安全的无证书数字签名方案.pdf
无证书签名体制容易遭受
公钥
替换攻击,在很多
已有
的方案中,密钥
生成
中心(KGC)可假冒合法用户
生成
“有效”的公
私钥
对。在Gap Diffie-Hellman(GDH)群中,利用用户
公钥
和部分
私钥
“绑定”技术,提出了一种可追踪KGC假冒的无证书签名方案,在随机谕示模型下,给出了该方案的安全性分析。与同类方案相比,该方案具有较高的效率。
安装和配置 Windows Server 2022 证书服务
在证书的体系架构当中,包括了四个基本的组件,分别是密钥与加密算法,证书和证书颁发机构,证书申请、续订和吊销的通道,以及使用证书的应用程序 密钥与加密算法,就能够将明文信息,转化成为密文信息,以确保在...
公钥
、
私钥
和证书
理解
公钥
和
私钥
首先要区分加密和认证这两个概念! 加密和认证 加密是将数据资料加密,使别人即使获取加密数据,也无法获取正确的资料内容,重点在于数据的安全性。 认证是是确定数据的真实发送方,使别人无法伪造或冒充,重点在于用户的真实性。
公钥
和
私钥
公钥
和
私钥
通常称非对称加密(又称 不对称加密) 使用
公钥
和
私钥
的目的是为了安全的数据传输,必须实现如下目的: 发送方将数据加密,在数据传输过程中不能被别人看到真实数据内容 接收方能确定数据是发送方发送的数据,不是别人冒充。 首先解释
公钥
和
私钥
的意义和作用: 公
数字证书
、
公钥
和
私钥
这三者之间的关系是什么
根据非对称密码学的原理,每个证书持有人都有一对
公钥
和
私钥
,这两把密钥可以互为加解密。
公钥
是公开的,不需要保密,而
私钥
是由证书持人自己持有,并且必须妥善保管和注意保密。
数字证书
则是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的
公钥
进行签名(相当于加盖发证书机构的公章)后形成的一个数字文件。 CA完成签发证书后,会将证书发布在CA的证书库(目录服
云安全
4,451
社区成员
4,381
社区内容
发帖
与我相关
我的任务
云安全
云计算 云安全相关讨论
复制链接
扫一扫
分享
社区描述
云计算 云安全相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章