Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Используйте уже существующий SSL для контроллера Unifi, UniFi Network
 
Постараюсь объяснить как можно проще, надеясь на максимально простое решение. Я видел другие темы про SSL с Unifi, и, как говорят, дьявол кроется в деталях. Эта история с SSL для Unifi такая же запутанная, как и…

- Ubuntu server LTS 16.04  
- Версия контроллера: сейчас не скажу, так как страница больше не загружается (но на момент написания у меня была последняя стабильная версия)  
- Контроллер доступен по адресу example.com:8443/manage  
- У меня уже есть сертификат letsencrypt для example.com, который используется для example.com и всех связанных поддоменов  
- От letsencrypt мне выдали файлы cert.pem, chain.pem, fullchain.pem, privkey.pem, которые я использую для example.com и связанных с ним поддоменов  

Теперь вопрос:  
- Хочу использовать тот же сертификат для моего контроллера Unifi. Как его импортировать?  
- Какой из файлов .pem нужно импортировать?  

Если есть какая-то статья, которая это объясняет, пожалуйста, дайте ссылку. Желательно, чтобы инструкция была для Linux/Debian/Ubuntu. Спасибо!
 
Сторона Windows:
- Скачал «Keystore Explorer» для Windows. http://keystore-explorer.org/
- Создал новый файл keystore (тип JKS)
- Инструменты > Импортировать пару ключей
- Выбрал тип ключа PKCS #12
- (Используйте экспортированный файл unifi.p12, который вы сделали по другим инструкциям из этого поста) — добавлено Крейгом.
- Выбрал объединённый файл сертификата
- При запросе пароля для пары ключей введите «aircontrolenterprise»
- Файл > Сохранить как
- Установил пароль keystore «aircontrolenterprise»
- Сохранил файл под именем «keystore»

У меня получилось. Использовал сертификат pfx на Windows Server. Спасибо!
 
У меня работают два контроллера: Mail на Docker и бета-версия на UCK. Я использую сертификат, экспортированный из Let's Encrypt. В нём три файла: cert.pem, chain.pem и privkey.pem. Я синхронизирую эти файлы между серверами. А на UCK использую такой скрипт:

#!/bin/bash  
cd /srv/unifi/data/  
openssl pkcs12 -export -in cert.pem -inkey privkey.pem -out unifi.p12 -name unifi -CAfile fullchain.pem -caname root  
cp /etc/ssl/private/unifi.keystore.jks unifi.keystore.jks.bkp  
keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /etc/ssl/private/unifi.keystore.jks -srckeystore unifi.p12 -srcstoretype PKCS12 -alias unifi  
service unifi restart  

Можете использовать этот способ для миграции в своей среде.
 
Спасибо, это мне помогло.
 
Ищу на форуме, нашёл эту тему, но решение там больше не работает. Сегодня попробовал немного изменённый вариант, который хорошо сработал на версии 5.10.20:

sudo openssl pkcs12 -export -inkey privkey.pem -in fullchain.pem -out fullchain.p12 -name unifi -password pass:unifi

mv /var/lib/unifi/keystore /var/lib/unifi/keystore.backup

sudo keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /var/lib/unifi/keystore -srckeystore fullchain.p12 -srcstoretype PKCS12 -srcstorepass unifi -alias unifi -noprompt

service unifi restart

Информация про fullchain.pem:  
https://www.digicert.com/ssl-support/pem-ssl-creation.htm  
https://support.comodo.com/index.php?/Knowledgebase/Article/View/1145/1/how-do-i-make-my-own-bundle-file-from-crt-files
 
Там в любом случае выводится это сообщение, думаю, это скорее информационное предупреждение, а не ошибка. Я настроил у себя с помощью временного веб-сервера letsencrypt, используя cerbot-auto certonly и следуя этому гайду https://lg.io/2015/12/13/using-lets-encrypt-to-secure-cloud-hosted-services-like-ubiquitis-mfi-unifi-and-unifi-video.html. Правда, под версию 5.9 пришлось немного изменить команды.

Почти в конце я использовал такие команды:

openssl pkcs12 -export -in /etc/letsencrypt/live/YourDomainHere/cert.pem -inkey /etc/letsencrypt/live/YourDomainHere/privkey.pem -out /home/YourUsernameHere/unifi.p12 -name unifi -CAfile /etc/letsencrypt/live/YourDomainHere/fullchain.pem -caname root -password pass:temppass -noprompt

keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /var/lib/unifi/keystore -srckeystore /home/YourUsernameHere/unifi.p12 -srcstoretype PKCS12 -srcstorepass temppass -alias unifi -noprompt

*не забудьте заменить YourDomainHere и YourUserNameHere на свои данные.
 
Кстати, по этому методу:

Сторона WINDOWS:
- Скачал «Keystore Explorer» на Windows. http://keystore-explorer.org/
- Создал новый keystore файл (тип JKS)
- В меню Tools выбрал Import Key Pair
- Для типа ключа выбрал PKCS #12
- (Используйте экспортированный файл unifi.p12, который вы сделали по другим инструкциям из этого поста) — добавлено Craig’ем.
- Выбрал файл с объединённым сертификатом
- При запросе пароля для пары ключей использовал «aircontrolenterprise»
- Выбрал File, Save As
- Установил пароль keystore тоже «aircontrolenterprise»
- Сохранил файл под именем «keystore»

Мне удалось получить сертификат... Но процесс не автоматизируется...
 
Я пробовал это сделать, наверное, 20 раз, и всё равно получаю такую ошибку:  
Warning:  
Хранилище ключей JKS использует проприетарный формат. Рекомендуется перейти на PKCS12 — это стандартный формат отрасли, с помощью команды «keytool -importkeystore -srckeystore /var/lib/unifi/keystore -destkeystore /var/lib/unifi/keystore -deststoretype pkcs12». Однако команда выглядит так:  
keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /var/lib/unifi/keystore -srckeystore unifi.p12 -srcstoretype PKCS12 -alias unifi  
Вскоре после запуска меня просят ввести пароль, который я уже вводил после первой команды.  
openssl pkcs12 -export -in "/etc/webmin/letsencrypt-cert.pem" -inkey "/etc/webmin/letsencrypt-key.pem" -out unifi.p12 -name unifi -CAfile "/etc/webmin/letsencrypt-ca.pem" -caname root  
Чтобы упростить, я ставлю пароль 1234, так как уже накосячил около 20 раз, 😛  
Сейчас у меня Ubuntu 18.04 и apache2 для настройки letsencrypt.  
Сертификат отлично работает для Webmin, но думаю, что это не совсем обычная настройка, которую требует команда openssl.  
Есть идеи?  

Кстати, если не вводить пароль, процесс продолжается, но выдает ошибку с пустым значением.  
Не уверен, касается ли это пароля или проблемы с сертификатами...  
Когда я пытался сделать это способом Unifi, сертификаты, которые требовались, были странными и никогда не работали...
 
Только что воспользовался этим руководством — всё сработало без проблем. Спасибо за отличный форум!
Страницы: 1
Читают тему (гостей: 1)