希望有人能夠在這裏給我一點幫助。生成1024位RSA密鑰對,並在node.js中以ASN.1格式(十六進制)保存公鑰。
我需要生成一次性使用1024位RSA密鑰(在每次運行後丟棄)並將公鑰傳遞給遠程客戶端。遠程客戶端期望該密鑰是「按照x509中定義的ASN.1格式」。 (我知道如何使用openssl首先創建私鑰,然後如何提取公鑰 - 這兩種格式都是ASCII格式的,我堅持要轉換爲ASN.1,它需要使用十六進制)
用於與Minecraft客戶端通信時使用。 (什麼我寫充當服務器)
這裏是我工作過的信息描述什麼是必需的: http://wiki.vg/Protocol_Encryption#Key_Exchange (特別是密鑰交換部分)
我非常需要做到這一點node.js中(或系統調用OpenSSL的將是蠻好的,如果將做)
!((此線以下信息可能不相關))
的想法是,我發送格式的公鑰的ASN.1客戶端。客戶端加密一個密碼並將其發回給我(服務器),在那裏我需要解密並存儲密碼供以後使用。
我的服務器正在寫入node.js,所以我建議如何在node.js中完成它,或者通過調用openssl作爲命令提示符,我將非常感激。
請注意,我對ASN.1知之甚少,所以我可能錯過了一些明顯的東西。 (希望)
我一直在環顧谷歌幾個小時,我已經找到了很多關於這個問題的東西,但我沒有能夠正確理解它們,或者根本無法使它們工作。
要清楚 - 我不想用ASN.1加密任何數據 - 我只需要將公鑰以ASN.1格式發送到客戶端。 (據推測,我可以很容易地解密用openssl調用發回的加密密碼,使用生成的私鑰開始)
如果任何人都可以在這裏幫助我一點,這將非常感激。
詹姆斯