Flutter использует пакет шифрования RSA

#flutter #dart

#flutter #dart

Вопрос:

Я пытаюсь использовать этот пакет dart для создания своих ключей RSA, но документация не очень предоставляется …

Ссылка на RSA_encrypt пакета Dart

В документации говорится, что нужно использовать «encodePublicKeyToPemPKCS1», но он не распознается, вам удалось его использовать?

 import 'package:rsa_encrypt/rsa_encrypt.dart';
import 'package:pointycastle/api.dart' as crypto;

//Future to hold our KeyPair
    Future<crypto.AsymmetricKeyPair> futureKeyPair;
    //to store the KeyPair once we get data from our future
    crypto.AsymmetricKeyPair keyPair;
    Future<crypto.AsymmetricKeyPair<crypto.PublicKey, crypto.PrivateKey>> getKeyPair()
    {
      var helper = RsaKeyHelper();
      return helper.computeRSAKeyPair(helper.getSecureRandom());
    }

    futureKeyPair = getKeyPair();
    keyPair = await futureKeyPair;
    print(keyPair);

    var public = encodePublicKeyToPemPKCS1(keyPair.publicKey);
 

Ответ №1:

функция encodePublicKeyToPemPKCS1 находится в RsaKeyHelper() классе.

это должно быть похоже:

 var helper = RsaKeyHelper();
var public = helper.encodePublicKeyToPemPKCS1(keyPair.publicKey);
 

Комментарии:

1. при выполнении helper.encodePublicKeyToPemPKCS1(keyPair.publicKey); я получаю The argument type 'PublicKey' can't be assigned to the parameter type 'RSAPublicKey' . Есть идеи, почему?