|
|
1
210
我意识到这是一个很晚(很长)的答案。但考虑到这个问题在搜索引擎结果中的排名有多高,我想也许值得为它写一个像样的答案。 下面你会读到的很多东西都是从 this demo
在实际创建证书之前,我们需要创建私钥。OpenSSL提供了
为了分配
还有一个相应的函数用于释放结构-
现在我们需要生成一个密钥。对于我们的示例,我们将生成一个RSA密钥。这是通过
函数的简单调用可能如下所示:
如果
这个
现在是证书本身。
OpenSSL使用
就像我们的情况一样
现在我们需要使用一些
第一行设置证书的
现在,我们需要使用前面生成的密钥设置证书的公钥:
由于这是一个自签名证书,我们将颁发者的名称设置为主体的名称。该过程的第一步是获取主题名称:
(我在这里使用值'CA',因为我是加拿大人,这是我们的国家代码。还要注意,参数#4需要显式转换为
最后,我们准备好执行签名过程。我们叫
请注意,我们正在使用
SHA-1
对密钥进行签名的哈希算法。这与
我们现在有一个自签名证书!但我们还没有完成-我们需要将这些文件写入磁盘。谢天谢地,OpenSSL也用
唷!现在我们只讨论一个函数——我们需要将证书写入磁盘。我们需要的功能是
对于那些有兴趣了解上述所有代码在实际应用程序中的外观的人来说,我提供了一个要点(用C++编写),您可以查看 here . |
|
|
2
51
您首先需要熟悉术语和机制。 证明书 在任何情况下,您都需要调用OpenSSL API的20多个不同函数来创建密钥和自签名证书。OpenSSL源代码本身就是一个例子 demos/x509/mkcert.c |
|
|
3
5
Nathan Osman 解释得非常充分,在C++中有同样的问题需要解决,所以这里是我的小加,CPP风格改写的概念,并考虑了几个注意事项:
当然,应该有 更多 实际上,检查函数的返回值 全部的 |
|
|
4
2
有没有可能通过一个
如果选择使用API,请检查
祝你好运 |
|
|
Anna · 将证书添加到Dockerfile(rhel7) 8 年前 |
|
|
Hapeki · 此申请证书如何有效? 8 年前 |
|
|
user740521 · SSL连接在没有客户端身份验证的情况下失败 8 年前 |
|
|
Samuel Miller · 群集上的Nifi 1.5不受信任代理 8 年前 |