Настройте Netty-с рукопожатием TLS с аутентификацией клиентского сертификата ECC и RSA.

Я работаю на удаленном сервере, который использует Netty для аутентификации клиента с помощью рукопожатия TLS через библиотеку Netty SSLHandler. Этот вопрос S/O дает немного: Настройте Netty с двусторонним SSL Handsake (сертификат клиента и сервера)

Теперь вопрос, который у меня есть об этой системе, заключается в том, что серверу требуется TrustManager для инициализации SSLContext. Из того, что я наблюдаю, здесь используется провайдер SunJSSE. Теперь, после настройки этой реализации, я начал работать с клиентскими сертификатами RSA. Теперь у меня возникли проблемы с использованием клиентских сертификатов ECC, поскольку SunJSSE не может их распознать (я думаю, что Java SE 7 включает SunEC в качестве поставщика. Но SunEC является реализацией SunJCE, а не SunJSSE, и поэтому не может использоваться в качестве поставщика для TrustManager). Итак, как мне поступить. Я слышал, что Bouncy Castle может распознавать эти сертификаты, но я все еще не могу создать экземпляр TrustManager с BC в качестве поставщика.

Изменить: также, если нет возможности использовать TrustManagers, должен ли я выполнять все рукопожатие, используя только API BouncyCastle, а не библиотеки netty? Хотя это кажется неправильным. Это мой другой вопрос S/O, который показывает трассировку стека: Client ECC SSL-сертификат содержит кривую с неизвестным именем


person favicon    schedule 04.06.2015    source источник
comment
Сожалеем, что вы не получили ответа. Да, как правило, вам необходимо добавить функции ECC прежде чем вы сможете обновить протоколы, которые их используют. Я предполагаю, что это работает для более новых версий Java. Этот вопрос все еще актуален для вас?   -  person Maarten Bodewes    schedule 27.03.2019