懂 openssl 的进

高性能架构探索 2012-08-08 09:31:02
刚开始接触,有点小问题,很简单

服务端和客户端在不同的机器上

如果在其中一台机器上生成ca.crt,client.crt,client.key以及ca.crt,server.crt,server.key,然后拷贝到另一台机器上,这样可以正常传输数据

如果在客户端生成ca.crt,client.crt,client.key,而在服务端生成ca.crt,server.crt,server.key,那么在客户端进行SSL_connect操作时就会出错,返回-1


问下,如果想在两台不同机器传输,应该怎么做?或者说 第一种方式正确还是第二种方式正确

...全文
146 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mLee79 2012-08-08
  • 打赏
  • 举报
回复
正确的做法是 CA 中心生成 ca.crt ca.key
服务器生成 server.key server.csr , 发送 server.csr 到 CA 中心, 由 CA签名生成 server.crt , 证书发给服务器...
客服端生成 client.key client.csr , 发送 client.csr 到 CA 中心, 由 CA签名生成 client.crt ...
inurlcn 2012-08-08
  • 打赏
  • 举报
回复
简而言之,就是第一种方法是对的
inurlcn 2012-08-08
  • 打赏
  • 举报
回复
CA 的意思就是证书发行机构

ca.crt就是根证书,ca.key就是根证书的私钥

client.crt和server.crt都是用户证书

*.crt都是可以公开的,*.key都是用户私有的

制作用户证书时候需要ca.key(私有),所以只能在一台电脑上生成crt和key
*.key不能给别人,*.crt可以在网上随便传
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

亲,CA.crt只能在一台机器上生成哦!(包括ca.key,这个是不能拷给别人的)
而client.crt和server.crt生成依赖于ca.key,只能用同一个ca.key生成
[/Quote]
既然不能拷贝,那我想知道,具体该如何操作,谢谢!确实对这个比较模糊

或者说 从头跟我解释下该如何操作,谢谢
inurlcn 2012-08-08
  • 打赏
  • 举报
回复
亲,CA.crt只能在一台机器上生成哦!(包括ca.key,这个是不能拷给别人的)
而client.crt和server.crt生成依赖于ca.key,只能用同一个ca.key生成
  • 打赏
  • 举报
回复
好了,谢谢,结贴

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧