Создавайте индивидуальные закрытые и открытые ключи с размером ключа в JAVA и iOS - PullRequest
0 голосов
/ 07 ноября 2019

Необходимо использовать концепцию RSA в Android (Java) и iOS. Результаты обеих платформ должны быть одинаковыми.

В Android созданы частные и открытые ключи с помощью классов KeyFactory, X509EncodedKeySpec, PKCS8EncodedKeySpec.

"RSA / ECB / PKCS1Padding"

KeyFactory keyFactory = KeyFactory.getInstance ("RSA");

public static PrivateKey getPrivateKey(String base64PrivateKey) {

        PrivateKey privateKey = null;
        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(Base64.getDecoder().decode(base64PrivateKey.getBytes()));

        KeyFactory keyFactory = null;
        try {

            keyFactory = KeyFactory.getInstance("RSA");

        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        try {
            privateKey = keyFactory.generatePrivate(keySpec);
        } catch (InvalidKeySpecException e) {
            e.printStackTrace();
        }
        return privateKey;
    }

---------------------------

 public static PublicKey getPublicKey(String base64PublicKey) {
        PublicKey publicKey = null;
        try {
            X509EncodedKeySpec keySpec = new X509EncodedKeySpec(Base64.getDecoder().decode(base64PublicKey.getBytes()));
            KeyFactory keyFactory = KeyFactory.getInstance("RSA");
            publicKey = keyFactory.generatePublic(keySpec);
            return publicKey;
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (InvalidKeySpecException e) {
            e.printStackTrace();
        }
        return publicKey;
    }

Именно то, что мне нужно, нужно использовать один и тот же закрытый ключ в Android и IOS после того, как зашифровал строку в средствах Android, с помощью частногоключ нужно расшифровать в iOS это должен быть точный результат. Я пробовал так много способов его не работает.

Сбоев не было. Но при использовании закрытого ключа Android в iOS я получаю следующую ошибку .. "невозможно расшифровать".

Я жду от вас хорошего результата, ребята ..

...