Метод addProvider в системе безопасности возвращает неопределенное значение

#java #android

#java #Android

Вопрос:

Я пытаюсь использовать addProvider метод и, похоже, он не определен, даже если он импортирован import java.security.Security;

 package com.example.fingerprient2;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.KeyStore;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;

import java.security.PublicKey;
import java.security.SecureRandom;
import java.security.Signature;

import java.security.Security;

import java.security.interfaces.ECPublicKey;

import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec;
import java.util.Arrays;
import java.security.Security;
import org.bouncycastle.jcajce.BCFKSLoadStoreParameter;
import org.bouncycastle.jce.ECNamedCurveTable;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jce.spec.ECParameterSpec;
import android.security.keystore.KeyProperties;
import javax.crypto.KeyGenerator;

public class EnCryptor {



    Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
    KeyPairGenerator kpg = KeyPairGenerator.getInstance(
            KeyProperties.KEY_ALGORITHM_EC, "AndroidKeyStore");
    KeyGenerator keyGenerator =KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_EC ,"AndroidKeyStore");

}
 

любая помощь, чтобы узнать, почему addProvider не отображается?

Ответ №1:

Потому что вы не находитесь в области, где вы можете вызвать метод. Его необходимо вызвать из функции или инициализатора:

 public class Encryptor {
    public void initialize() {
        Security.addProvider(new BouncyCastleProvider());
    }
}
 

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

1. большое спасибо, проблема решена. но у меня есть другая ошибка в KeyPairGenerator kpg = KeyPairGenerator.getInstance( KeyProperties. KEY_ALGORITHM_AES , «AndroidKeyStore»); ошибка: необработанные исключения: java.security. Исключение NoSuchAlgorithmException, java.security. Исключение NoSuchProviderException