我不是密碼專家,但據我所知,3DES是一種對稱加密算法,這意味着它不使用公鑰/私鑰。儘管如此,我的任務是使用公鑰加密數據(特別是.CER文件)。 如果您忽略整個對稱/不對稱thang,我應該能夠使用公鑰中的密鑰數據作爲TripleDES密鑰。 但是,我無法從.CER文件中提取關鍵字節。 這是代碼,因爲它代表..3DES與.cer公鑰?
TripleDESCryptoServiceProvider cryptoProvider = new TripleDESCryptoServiceProvider();
X509Certificate2 cert = new X509Certificate2(@"c:\temp\whatever.cer");
cryptoProvider.Key = cert.PublicKey.Key.
我可以找到從證書的原始密鑰字節最簡單的方法是ToXmlString(布爾),然後做在返回的字符串一些哈克substringing。 但是,這似乎很駭人,我覺得我必須錯過一個更簡單,更明顯的方式來做到這一點。
我是否錯過了一種更簡單的方式來使用.cer文件向C#3DES加密類提供密鑰數據,或者是否將其從證書xml字符串中篡改出去真的是最好的方式?
找出他們真正想要的東西不是更好,因爲要求對稱算法的公鑰密碼明顯不是它嗎? – 2008-09-23 14:50:34
我不知道你,Arachnid,但在我的經驗中,它更容易與流動。提問者似乎很清楚這裏的不兼容性,爲什麼不讓他按照他的要求去做呢? – 2008-09-23 15:15:47