Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Apache2 +SSL 
:(
    Опции темы
GhostMasterNet
Дата 23.4.2011, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Илья
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 6.9.2006

Репутация: 3
Всего: 3



Помогите настроить ssl-соединение в javaME с сервером apache(2). (UBUNTU 10)

Я делаю так:

-------------------- создание собственного CA, подпись серверного и клиентского ключа этим CA -----------------
cd /home/work/keystores

--- создаю свое CA---
openssl genrsa -des3 -out ca.key 2048
openssl req -new -x509 -days 365 -key ca.key -out ca.crt

-- создаю серверный ключ, подписываю его моим CA ---
openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

-- убираю пароли чтобы апач не запрашивал при рестарте ---
openssl rsa -in server.key -out server.key.insecure
mv server.key server.key.secure        
mv server.key.insecure server.key

sudo cp server.key /etc/apache2/ssl
sudo cp server.crt /etc/apache2/ssl

--- импортирую корневой сертификат CA в хранилище ключей ---
keytool -import -trustcacerts -alias cacert -file ca.crt -keystore keystore.jks
keytool -genkey -alias my -keyalg RSA -keystore keystore.jks -keysize 2048

--- генерирую запрос на сертификацию от хранилища ключей ---
keytool -certreq -alias my -keystore keystore.jks -file my.csr

---подписываю сертификат для хранилища ключей при помощи CA
openssl x509 -req -days 365 -in my.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out my.crt

---добавляю сертификат в хранилище ---
keytool -import -trustcacerts -alias my -file my.crt -keystore keystore.jks
------------------------------------------------------------------------------------------------------------


апач стартует нормально, виртуальный хост(myhostname.com) для защищенного соединения видит, открывает

тестирую в эмуляторе

пробовал подписать мидлет сертификатом my.crt - не подключается

также пробовал способ отсюда (http://forum.vingrad.ru/topic-302814.html), 
положил в корень jar my.crt, 

код следующий 
Код

            CertStore cs = new CertStore() {
                public X509Certificate[] getCertificates(String arg0) {
                       Logger.debug("get certificates");

                    try {
                         X509Certificate[] certs = new X509Certificate[1];
                         InputStream is = this.getClass().getResourceAsStream("/my.crt");
                         Logger.debug("inputStream: " + is);
                         byte[] buffer = new byte[is.available()];
                         is.read(buffer);
                         Logger.debug("cert length: " + buffer.length);
                         certs[0] = X509Certificate.generateCertificate(buffer, 0, buffer.length);
                         return certs;
                     } catch (Exception ex) {
                         Logger.error("can't open resource");
                      ex.printStackTrace();
                         return null;
                     }
                }
            }; 
            SSLStreamConnection.setTrustedCertStore(cs);
            Logger.debug("Before opening ssl connection" );
            
// вот здесь выдает эксэпшн  Certificate was issued by an unrecognized entity
            SSLStreamConnection sslscon = new SSLStreamConnection("myhostname.com", 443, connection.openInputStream(), connection.openOutputStream()); 

            Logger.debug("trusted certstore: " + cs.getCertificates(null));
            OutputStream outputStream = sslscon.openOutputStream();
            writer = new OutputStreamWriter(outputStream, "UTF-8");
            writer.write(data.toString());
            writer.close();
            outputStream.close();



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.1006 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.