Android, как включить открытый ключ шифрования в исходный код АПК, так как устройство не может загрузить его из файла - PullRequest
0 голосов
/ 14 сентября 2011

В приведенном ниже коде я создаю публичные
и приватные ключи для шифрования.

Я действительно хотел бы встроить открытый ключ в исходный код Java для Java.

Поскольку они являются объектами, я не понимаю, как включить в код открытый ключ.
Я пытался создать какую-то окончательную строку, но это не сработало

Любая помощь будет признательна.
Возможно, это плохой идеал, так как я не вижу много разговоров об этом

public void GenerateKeyPair()
{       
    try{
        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
        kpg.initialize(2048);
        KeyPair kp = kpg.genKeyPair();

        KeyFactory fact = KeyFactory.getInstance("RSA");
        RSAPublicKeySpec pub = fact.getKeySpec(
                kp.getPublic(),RSAPublicKeySpec.class);
        RSAPrivateKeySpec priv = fact.getKeySpec
        (kp.getPrivate(),RSAPrivateKeySpec.class);

        saveToFile("public.key", pub.getModulus(),pub.getPublicExponent());
    saveToFile("private.key", priv.getModulus(),priv.getPrivateExponent());
    }catch(Exception e){
        System.out.println(e.getMessage());
    }
}

public void saveToFile(String fileName,BigInteger mod, 
        BigInteger exp) throws Exception {

    ObjectOutputStream oout = new ObjectOutputStream
    (new BufferedOutputStream(new FileOutputStream(fileName)));
    try {
        oout.writeObject(mod);
        oout.writeObject(exp);
    } catch (Exception e) {
        throw new Exception("error", e);
    } finally {
        oout.close();
    }
}

1 Ответ

1 голос
/ 17 сентября 2011

отвечая на мой собственный вопрос.

// create the string for client to use
byte[] b = Base64.encodeBase64(keyPair.getPublic().getEncoded());
String encodedString = new String(b);
System.out.println(encodedString);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...