Сохранить пару ключей в устройстве с кодовым именем one app

#codenameone #bouncycastle

#codenameone #bouncycastle

Вопрос:

В настоящее время я пытаюсь использовать фреймворк codename one, и я хотел бы знать, есть ли способ случайно сохранить пару ключей, сгенерированную библиотекой bouncy castle?

Я пытался сохранить ключи, используя хранилище и настройки, но всегда получал одно и то же исключение

 java.io.IOException: Object type not supported: org.bouncycastle.asn1.pkcs.RSAPublicKey value: org.bouncycastle.asn1.pkcs.RSAPublicKey@581c
    at com.codename1.io.Util.writeObject(Util.java:481)
    at com.codename1.io.Storage.writeObject(Storage.java:227)
  

Ответ №1:

Вам нужно сохранить массив байтов, относящийся к ключу, а не к объекту key. Например.

 byte[] b = key.toASN1Primitive().getEncoded();
  

И восстановить:

 RSAPublicKey key = RSAPublicKey.getInstance(b);
  

Не пробовал, но, глядя на код, я думаю, что это должно сработать.