【问题标题】:x509 certificates in a secured connection [closed]安全连接中的 x509 证书 [关闭]
【发布时间】:2014-04-04 12:33:21
【问题描述】:

x509证书包含的RSA PRIVATE KEYPUBLIC KEY是什么意思?

UPD:@owlstead:我试过phpseclib

$text = "test"; 
$x509 = new File_X509();
$cert = $x509->loadX509(file_get_contents(CERT_PATH.'root.crt'));
$Crypt_RSA = $x509->getPublicKey();
extract($Crypt_RSA->createKey()); // got $publickey and $privatekey
$Crypt_RSA->loadKey($publickey);
$crypted_text = $Crypt_RSA->encrypt($text);
$Crypt_RSA->loadKey($privatekey);
$decrypted_text = $Crypt_RSA->decrypt($ciphertext);

【问题讨论】:

  • 一点也不像。我建议您查找 SSL 和 PKI,而不是仅仅弥补。对杂散的猜测进行详细评论没有多大意义。
  • 我是这么想的,这很尴尬,所以我编辑了问题,它可以回答吗?
  • This 是 X509 证书。 this 是现代 TLS(又名 SSL)。你还没有真正问过问题。
  • @owlstead:任何证书实际上都有PUBLIC KEYRSA PRIVATE KEY,这让我很困惑。
  • 好的,恭喜你解决了你的问题 :)

标签: php ssl encryption x509


【解决方案1】:

createKey() 创建一个新的密钥对,即一个属于任何证书的公钥和私钥。

【讨论】:

  • 一台主机上public key加密的消息可以在另一台主机上被private key解密,使用相同证书。你能解释一下区别吗?而且,我的问题是关于证书的正确使用——我的服务器和其他主机的双向安全通信(我想控制主机证书的有效期)
  • 证书用于建立对作为证书一部分的公钥的信任。这是通过将证书链验证为受信任的证书来完成的。然后,该消息由公钥加密,并使用收到其公钥/私钥对证书的一方的私钥解密。这被称为 PKI,最好先阅读有关它的书,它不能包含在单个答案中。
  • 我认为您想就您的问题而不是我的回答对 EJP 发表评论。该证书不处理 RSA PRIVATE KEY。如我的回答中所述,当您致电 createKey 时会创建一个新的。
  • @zogby 它“处理私钥”。证书中没有私钥。证书是证明此人拥有此公钥及其附带的私钥的公共文档,但私钥是错误的,是私有的。将其放入证书中会适得其反。您在实际问题中没有提及任何有关有效期的内容。我建议你澄清一下。再次。
  • 您需要其他一些建立信任的方法。 IE。浏览器使用浏览器附带的证书缓存,web-CA 只需检查您的网址名称是否正确,您可以使用个人连接等等等。如果没有任何其他信息,您将无法建立对某人的信任。跨度>
猜你喜欢
  • 2014-04-07
  • 1970-01-01
  • 2016-12-05
  • 2019-04-02
  • 1970-01-01
  • 2016-02-03
  • 1970-01-01
  • 2012-01-22
  • 2017-12-18
相关资源
最近更新 更多