Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Автор: MaximZ ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) keyStore is : /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/localhostNode01Cell/nodes/localhostNode01/key.p12 [7/6/16 10:39:34:777 MSK] 000001afI UOW= source=ru.CryptoPro.ssl.SSLLogger class=ru.CryptoPro.ssl.SSLContextImpl method=d thread=[WebContainer : 8] keyStore type is : HDImageStore [7/6/16 10:39:34:778 MSK] 000001afI UOW= source=ru.CryptoPro.ssl.SSLLogger class=ru.CryptoPro.ssl.SSLContextImpl method=d thread=[WebContainer : 8] keyStore provider is : IBMJCE Задан неподдерживаемый в JTLS ключевой контейнер (p12) и провайдер неправильный - IBMJCE, а тип хранилища - поддерживаемый (HDImageStore), хоть и не подходит контейнеру. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 33 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Сказал(а) «Спасибо»: 4 раз Поблагодарили: 2 раз в 2 постах
|
Автор: afev ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Автор: MaximZ ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) keyStore is : /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/localhostNode01Cell/nodes/localhostNode01/key.p12 [7/6/16 10:39:34:777 MSK] 000001afI UOW= source=ru.CryptoPro.ssl.SSLLogger class=ru.CryptoPro.ssl.SSLContextImpl method=d thread=[WebContainer : 8] keyStore type is : HDImageStore [7/6/16 10:39:34:778 MSK] 000001afI UOW= source=ru.CryptoPro.ssl.SSLLogger class=ru.CryptoPro.ssl.SSLContextImpl method=d thread=[WebContainer : 8] keyStore provider is : IBMJCE Задан неподдерживаемый в JTLS ключевой контейнер (p12) и провайдер неправильный - IBMJCE, а тип хранилища - поддерживаемый (HDImageStore), хоть и не подходит контейнеру. Ну да, так я об этом писал выше, но как задать правильный, непонятно
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
У was есть свои особенности в использовании TLS. Например, при настройке порта с поддержкой ГОСТ TLS пришлось редактировать конфиг сервера (об этом есть в инструкции), чтобы использовалось правильное имя провайдера (JCP), а не значение по умолчанию (IBMJCE), хотя тип хранилища был правильным (HDImageStore). Просто же подключение в качестве клиента из приложения, опубликованного на сервере, по идее, должно работать, если, конечно, сам was не меняет параметры System. Попробуйте для начала сделать пример подключения с помощью SSLContext или HttpsUrlConnection к какому-нибудь публичному серверу типа https://www.cryptopro.ru:4444/test/tls-cli.asp. Отредактировано пользователем 6 июля 2016 г. 13:17:50(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 33 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Сказал(а) «Спасибо»: 4 раз Поблагодарили: 2 раз в 2 постах
|
Проблему удалось решить следующим способом (вдруг кому пригодится). Реализовали свою SocketFactory и засеттили её в Axis. Код:
AxisProperties.setProperty("axis.socketSecureFactory",
MySocketFactory.class.getCanonicalName());
Код MySocketFactory Код:
import org.apache.axis.components.net.JSSESocketFactory;
import org.apache.axis.components.net.SecureSocketFactory;
import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManagerFactory;
import java.io.File;
import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.SecureRandom;
import java.util.Enumeration;
import java.util.Hashtable;
public class MySocketFactory extends JSSESocketFactory implements SecureSocketFactory {
public MySocketFactory (Hashtable attributes) {
super(attributes);
}
public static final String TRUST_STORE_LOCATION = "/var/opt/keys/client.store";
protected void initFactory() {
try {
KeyStore trustSt = KeyStore.getInstance("HDImageStore", "JCP");
trustSt.load(new FileInputStream(new File(TRUST_STORE_LOCATION)),
"Pass1234".toCharArray());
if (!trustSt.aliases().hasMoreElements())
{
throw new RuntimeException("Empty keystore");
} else {
Enumeration<String> enumalias = trustSt.aliases();
while (enumalias.hasMoreElements()) {
System.out.println(enumalias.nextElement());
}
}
TrustManagerFactory tmf = TrustManagerFactory.getInstance("GostX509");
tmf.init(trustSt);
KeyStore keyStore = KeyStore.getInstance("HDImageStore", "JCP");
keyStore.load(null, null);
KeyManagerFactory kmf = KeyManagerFactory.getInstance("GostX509");
kmf.init(keyStore, "1".toCharArray());
KeyManager km[] = kmf.getKeyManagers();
SSLContext ctx = SSLContext.getInstance("GostTLS");
SSLContext.setDefault(ctx);
ctx.init(km, tmf.getTrustManagers(), SecureRandom.getInstance("CPRandom", "JCP"));
this.sslFactory = ctx.getSocketFactory();
} catch (Exception e) {
throw new RuntimeException("During prepare ssl factory ", e);
}
}
}
Отредактировано пользователем 7 июля 2016 г. 13:05:17(UTC)
| Причина: Не указана
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил MaximZ за этот пост.
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close