при использовании BouncyCastle Как настроить keyManagerFactory - PullRequest
0 голосов
/ 29 мая 2020

Мне удалось сделать https-запрос с помощью BouncyCastleProvider, чтобы он соответствовал набору шифров «TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8»

  Security.addProvider(new BouncyCastleProvider());
            Security.addProvider(new BouncyCastleJsseProvider());
            SSLContext sslContext = SSLContext.getInstance("TLS", BouncyCastleJsseProvider.PROVIDER_NAME);
            KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(
                    "PKIX"
                    ,BouncyCastleJsseProvider.PROVIDER_NAME
            );
            KeyStore clientStore = KeyStore.getInstance("PKCS12");
            InputStream instream =Thread.currentThread().getContextClassLoader().getResourceAsStream(PFX_PATH);

   sslContext.init(
                        wrapKeyManagers(keyManagerFactory.getKeyManagers()),
                    new TrustManager[]{trustManager},
//                            tmf.getTrustManagers(),
                        SecureRandom.getInstance("DEFAULT", BouncyCastleProvider.PROVIDER_NAME) );

и я пытался настроить keyManagerFactory в методе wrapKeyManager 100 обнаружил, что он не работает, я не могу использовать этот метод переопределения

@Override
public String[] getClientAliases(String s, Principal[] principals) {
return wrappedManager.getClientAliases(replaceRsaWithEc(s), principals);
}

@Override
 public String chooseClientAlias(String[] strings, Principal[] principals, Socket socket) {
    return wrappedManager.chooseClientAlias(replaceRsaWithEc(strings), principals, socket);
 }

 @Override
 public String[] getServerAliases(String s, Principal[] principals) {
     return wrappedManager.getServerAliases(replaceRsaWithEc(s), principals);
 }

Я совершенно прав, это что-то не так с BouncyCastle Есть ли какой-нибудь api или что-то для настройки keyManagerFactory?

Сильно нуждается в помощи

1 Ответ

0 голосов
/ 29 мая 2020
 <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bctls-jdk15on</artifactId>
            <version>1.65</version> 
        </dependency>

сменить версию на 1.64 проблема решена

...