在很短的問題:我如何填寫RSAParameters如果我從第三方?:具有下列輸入.net中RSA公鑰模數和指數的格式是什麼?
模量:123456
Exponet:111
在一個漫長的故事,我使用以下代碼:
RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider(2048);
RSAParameters rsaPublic = RSAalg.ExportParameters(false);
然後我可以在byte []中獲得rsa公鑰的模數和指數。爲了寫在ASN.1格式
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e
}
我用ASN.1庫,以字節[]轉換到其BIGINTEGER格式這些信息,但是這個字節[]應該是一樣的格式{0 ','1','2','3','4','5','6','7','8','9'},假設它是十進制的。
但它看起來像rsaPublic.modulus和rsaPublic.exponent不是這種格式,在模數和指數的byte []中有很多非數字。那麼rsaPublic.modulus和rsaPublic.exponent的格式是什麼,以及如何將它們轉換爲格式如{'0','1','2','3','4','5 ','6','7','8','9'}?
非常感謝
我使用了一個asn.1庫。它可以很容易地處理asn.1公鑰格式。但問題是我不知道如何將byte []中的.net模數轉換爲合理的字節[],如{'0','1','2','3','4','5' ,'6','7','8','9'},字節[]中的rsa模量似乎沒有意義,它是以某種格式編碼的? – travellover 2010-02-19 00:38:10
它基本上是作爲大端字節數組的整數,前面有一些標題字節。等價地,它是以256爲底數表示的整數。你想用byte []來做什麼,那麼也許我可以給出更好的線索。 – 2010-02-19 00:45:21
我需要它們通過.net RSA模數和指數生成PKCS#1 asn.1 RSA公鑰。 我的方法是使用asn.1庫。它可以在base-2,base-18,base-10或base-16中接受byte []中的模數和指數,然後生成自己的大整數,然後生成PKCS#1公鑰格式。 所以首先我想通過.net RSA模數和指數生成biginteger。 .net RSA模數和指數在byte []中,但並不是所有這些byte []中的元素都是ASCII數字,對不對? 我希望你能理解我在說什麼。 – travellover 2010-02-19 05:44:27