[英]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.