Мне нужно сделать некоторое шифрование в J2ME через смс.Приложение получает открытый ключ в SMS-сообщении как String, так же, как openssl создает Открытый ключ из Закрытого ключа, вот как создаются ключи:
- Закрытый ключ: openssl genrsa -out privkey.pem144
- Открытый ключ: openssl rsa -in privkey.pem -out pubkey.pem
Строка создается с чем-то вроде этого, который является открытым ключом:
MGwCAQACEwCxcz+Qk8J6CptiRg6EBpG6SHECAwEAAQISVTLKcDYhh8sTJggObTKI
pdIJAgoA7EwFr5Un3AErAgoAwD8WTwqL0vbTAgoAkuPfVPr/wD/pAgl44rKqfR0z
SRUCCgDDqC/pMSBHTJs=
Теперь, как добраться до точки в исходном коде, чтобы получить этот открытый ключ в RSAPublicKey
, готовом для использования в шифре?
Для этого:
byte[] plaintext="some text".getBytes();
byte[] encryptedtext;
Cipher cipher=Cipher.getInstance("RSA");
RSAPublicKey pubKey=new RSAPublicKey(????????);
cipher.init(Cipher.ENCRYPT_MODE,pubkey);
cipher.doFinal(plaintext,0,plaintext.length,encryptedtext,0)