簡體   English   中英

客戶端如何在ssl連接中生成公鑰?

[英]how client generates public key in ssl connection?

說我有瑣碎的客戶端 - 服務器php ssl-application。
- 服務器生成私鑰/公鑰。
- 服務器開始監聽套接字。
- 客戶端連接到套接字:
stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_SSLv3_CLIENT)

它是如何工作的? 客戶端在運行時生成私鑰/公鑰並將其存儲在內存中?

和瀏覽器https相同的問題,瀏覽器也一樣嗎? 在飛行中生成私鑰/公鑰?

一般來說:客戶從哪里獲取密鑰?

  • 服務器生成私鑰/公鑰。

不可以。服務器已經安裝了公鑰和私鑰。

  • 服務器開始監聽套接字。

號服務器開始 端口監聽 這是通過插座完成。

  • 客戶端連接到socket:stream_socket_enable_crypto($ socket,true,STREAM_CRYPTO_METHOD_SSLv3_CLIENT)

是。

它是如何工作的? 客戶端在運行時生成私鑰/公鑰並將其存儲在內存中?

不會。客戶端通常沒有公鑰或私鑰,但如果已經安裝,則已經安裝了。 客戶端不需要這些基本SSL才能工作。

和瀏覽器https相同的問題,瀏覽器也一樣嗎? 在飛行中生成私鑰/公鑰?

往上看。 答案相同。

一般來說:客戶從哪里獲取密鑰?

我認為您正在遭受SSL廣泛的誤解,即SSL僅使用公共/私人密碼術。 它沒有。 它使用對稱會話密鑰,由兩個對等方獨立協商和計算。 PKI僅用於SSL以相互驗證對等方。

在任何情況下,您在運行時“生成”公共/私有密鑰對的問題都沒有意義。 密鑰對僅在對等方已具有公鑰時才有用。

你似乎一直在閱讀很多錯誤的信息。 其中有很多,眾所周知,包括所謂的“Linux文檔項目”。 對此的規范性引用是RFC 2246和后繼者,Eric Rescoria也有一本關於SSL的優秀書籍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM