#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