Использование WebView.ewo совместно с SSL-сертификатами

Для того, чтобы использовать webView.ewo совместно с SSL вам нужно либо купить SSL-сертификат, либо создать центр сертификации (ЦС), импортировать корневой центр сертификации в Windows и выдать сертификат.

Создание центра сертификации OpenSSL и выдача сертификатов:

  • Создайте Центр сертификации (ЦС). Чтобы создать центр сертификации, необходимо создать секретный закрытый ключ. Создайте закрытый ключ следующим образом:

    Команда:
    openssl genrsa -aes256 -out ca-key.pem 2048

Создайте корневой центр сертификации

  • Для ЦС существует секретный ключ. Необходимо создать корневой сертификат. Корневой сертификат должен быть импортирован клиентами, чтобы сертификаты, выданные центром сертификации, были признаны действительными в браузере. Создайте корневой сертификат «root-cert.pem» с помощью следующей команды (может быть запрошен пароль для ранее созданного ключа):

    Команда:
    openssl req -x509 -new -nodes -extensions v3_ca -key ca-key.pem -days 1024 -out  root-cert.pem -sha512

ВНИМАНИЕ

Если файл «openssl.cnf» не найден при выполнении команд и отображается следующее сообщение:
ВНИМАНИЕ: не удается открыть конфигурационный файл: ../output/../output/ssl/openssl.cnf
не удалось загрузить конфигурационную информацию из ../output/../output/ssl/openssl.cnf

  • Для разрешения данной проблемы существует два варианта:

    введите «config» и путь к конфигурации следующим образом:

    config «c:/Sibcom/Automation/KASKAD/3.17/bin/openssl.cnf»

    или

    путем обновления глобальной переменной пути:

    set OPENSSL_CONF=C:\Sibcom\Automation\KASKAD\3.17\bin\openssl.cnf


    Нижеприведённая информация актуальна только для корневого ЦС. Эта информация предназначена для эмитента, а не для клиента.

    Country Name (2 letter code) [AU]:AT
    State or Province Name (full name) [Some-State]:Burgenland
    Locality Name (eg, city) []:Eisenstadt
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:sdigital.ru
    Organizational Unit Name (eg, section) []:IT
    Common Name (eg, YOUR name) []:sdigital.ru
    Email Address []:sslmaster@sdigital.ru  

Импортируйте корневой сертификат клиентам (Windows)

ВНИМАНИЕ

В Linux можно использовать только файловые сертификаты. Таким образом, вам не нужно импортировать сертификаты под Linux. Скопируйте созданные сертификаты в каталог «config» проекта.

  • Импортируйте корневой сертификат клиентам. Вы можете импортировать корневой центр сертификации непосредственно через браузер или глобально через хранилище сертификатов на компьютере. Откройте хранилище сертификатов Windows через меню Пуск – см. рисунок ниже. Вы также можете открыть хранилище сертификатов Windows с помощью команды mmc в командной строке – см. раздел Хранилище сертификатов Windows.

Рисунок: как открыть хранилище сертификатов Windows

  • Импортируйте корневой сертификат центра сертификации, а затем клиентский сертификат (открытый ключ «certificate.pem»), как показано на рисунке ниже.

Рисунок: импорт корневого сертификата

Выдача нового сертификата.

  • Теперь вы можете создать новый сертификат хоста. В этом примере все шаги выполняются из одного каталога. В приведенном примере будет использоваться центр сертификации, подготовленный ранее. Как и для центра сертификации, для сертификата требуется закрытый ключ.

    КОМАНДА:
    openssl genrsa -out privkey.pem 4096

ПРИМЕЧАНИЕ

Теперь можно указать пароль. Если указан пароль, то веб-сервер будет каждый раз его запрашивать.


Запрос сертификата

  • Теперь необходимо создать запрос сертификата. Для запроса требуются некоторые атрибуты (название страны, название штата или провинции, название населенного пункта, название организации, название организационной единицы, общее имя и адрес электронной почты).

ВНИМАНИЕ

Поле «Common Name» сертификата должно содержать имя сервера, для которого сертификат должен быть действителен. Добавьте в поле «Common Name» имя сервера. Имя сервера может быть полным доменным именем или именем хоста, например: abcd.001.sdigital.ru или также, например, localhost. Чтобы проверить имя сервера, используйте отладчик WebEngine. Отладчик WebEngine открывается автоматически при открытии WebViewEwo, если задать атрибуту «webInspector» значение TRUE в редакторе свойств.

Рисунок: отладчик WebEngine.


Пароль «Challenge password» не должен быть установлен (поле следует оставить пустым)

КОМАНДА:
openssl req -new -key privkey.pem -out certificate.csr -sha512

Введите всю необходимую для запроса сертификата информацию.

Как только файл запроса сертификата «certificate.csr» готов, ЦС может его обработать. Таким образом генерируется открытый ключ для требуемого сертификата. Открытый ключ необходим вместе с закрытым ключом сертификата для шифрования.

Используйте следующую команду для создания открытого ключа (сертификата) «certificate.pem», который действителен в течение 365 дней.

КОМАНДА:
openssl x509 -req -in certificate.csr -CA root-cert.pem  -CAkey ca-key.pem -CAcreateserial -out certificate.pem -days 365 -sha512

Будет запрошен пароль для ЦС. Запрос сертификата «certificate.csr» можно удалить, так как он больше не требуется. Теперь в системе доступны закрытый и открытый ключи нового сертификата (privkey.pem и certificate.pem), а также закрытый и открытый ключи ЦС (ca-key.pem und root-cert.pem).

Импорт сертификата «certificate.pem» через хранилище сертификатов Windows:

Запуск проекта и webView.ewo

  • Проверьте, что ваши сертификаты (закрытый и открытый ключи нового сертификата «privkey.pem» и «certificate.pem»), а также закрытые и открытые ключи ЦС («ca-key.pem» и «root-cert.pem») находятся в каталоге «config» проекта.
  • Запустите свой проект и сценарий webclient_http.ctl. Теперь вы можете запустить WebView.ewo. На рисунке ниже представлена запущенная панель start.pnl: путь_КАСКАД/panels/examples/js.

Рисунок: WebView.ewo

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *