Я использую java.security.PublicKey
в своем проекте
Однако, когда я включаю Proguard, я получаю следующую ошибку:
java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.security.PublicKey.getAlgorithm()' on a null object reference
После некоторого исследования я обнаружил, что он падает
val entry = KeyStore.PrivateKeyEntry(keyPair.private, arrayOf(certificate)) <--- this line
keyStore.setEntry(alias, entry, keyProtection)
Как мне заставить это работать?
добавление этого в файл proguard не работает:
-keep class java.security.** { *; }
-keepclassmembers class java.security.** { *; }
-keep public interface java.security.Key {*;}
-keep public interface java.security.PublicKey {*;}
-keepclassmembers class * implements java.security.PublicKey {
public <methods>;
}
После еще большего количества исследований я обнаружил, что более точные c строка в конструкторе KeyStore.PrivateEntry () вызывает проблему
И это
Certificate[] clonedChain = chain.clone();
clonedChain[0].publicKey is left null
Как сделать так, чтобы она клонировала также ключ publi c?