我正在開發一個Android應用程序,我需要生成一些RSA私鑰和公鑰以用於與Web服務的安全通信。要做到這一點,我需要有一個.NET兼容形式的公鑰。 像:Android創建RSA 1024 .NET兼容密鑰
<RSAKeyValue><Modulus>{0}</Modulus><Exponent>{1}</Exponent></RSAKeyValue>
到目前爲止,我設法給這樣的:
keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(1024);
keypair = keyGen.genKeyPair();
privateKey = keypair.getPrivate();
publicKey = keypair.getPublic();
// Get the bytes of the public and private keys
byte[] privateKeyBytes = privateKey.getEncoded();
byte[] publicKeyBytes = publicKey.getEncoded();
我有不知道如何繼續。你能否提供一些幫助?
要將其序列化爲''(這大概來自XML數字簽名格式),您還需要對數值進行base64編碼從'getPublicExponent()'和'getModulus()'獲得,而不是直接使用'toString()'。 –
Bruno
2010-09-03 12:36:46
@布魯諾:謝謝,我對規範並不熟悉,只是猜測{0}和{1}需要什麼。 – 2010-09-03 20:03:42