Есть ли какой-либо пример / учебное пособие по созданию и настройке службы безопасности с защитой TLS с использованием quarkus.io?
К сожалению, я не могу найти ни в документации по quarkus, ни здесь.
Есть ли какой-либо пример / учебное пособие по созданию и настройке службы безопасности с защитой TLS с использованием quarkus.io?
К сожалению, я не могу найти ни в документации по quarkus, ни здесь.
Это действительно поддерживается нашим расширением Undertow, но, к сожалению, не задокументировано.
Вы можете определять такие вещи, как следующее:
quarkus.http.ssl.certificate.file=...
quarkus.http.ssl.certificate.key-file=...
...
в вашем application.properties.
Точка входа конфигурации - ServerSslConfig
(см. https://github.com/quarkusio/quarkus/blob/master/core/runtime/src/main/java/io/quarkus/runtime/configuration/ssl/ServerSslConfig.java#L41). Затем вы добавляете вложенные свойства с точками и преобразуете верблюжий регистр в тире.
Если вы хотите создать собственный исполняемый файл, есть большая вероятность, что вам также придется добавить quarkus.ssl.native=true
.
Если у вас есть отзывы или вы хотите внести свой вклад в это руководство, не стесняйтесь присоединяться к нам на Zulip или к открытым вопросам / PR на GitHub.
Спасибо, мистер. Гийом Смет, я нашел решение. Здесь от нуля до приветствия за 5 минут с помощью Quarkus и руководства по SSL. Это делается подключаемым модулем quarkus undertow. Также вам понадобится текстовый редактор, установлен jdk 1.8+ и maven.
Фрист, создай проект.
mkdir restls
cd restls
mvn io.quarkus:quarkus-maven-plugin:create -DprojectGroupId=org.acme -DprojectArtifactId=restls -DclassName="org.acme.HelloResource" -Dpath="/hello" -Dextensions="undertow"
Откройте файл конфигурации вашего приложения src/main/resources/application.properties
в любом редакторе и добавьте строки:
quarkus.http.port=80
quarkus.http.ssl-port=443
quarkus.http.ssl.certificate.key-store-file=keystore.jks
Создайте хранилище ключей, содержащее самоподписанный сертификат (ответьте на все вопросы и укажите пароль, а именно пароль):
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 365 -keysize 2048
Файл keystore.jks
должен находиться в папке src/main/resources/
.
Постройте проект:
mvnw clean package quarkus:build
А теперь попробуйте:
java -jar target/restls-1.0-SNAPSHOT-runner.jar
Перейдите по адресу https: // localhost / hello и разрешите браузеру доверять сертификату. Это все.
Вы можете переопределить параметры во время вызова следующим образом:
java -Dquarkus.http.ssl.certificate.key-store-file=/path-to-keystore/keystore-name.jks -jar target/restls-1.0-SNAPSHOT-runner.jar
Наконец, вот список возможных вариантов:
quarkus.http.ssl.certificate.file -- The file path to a server certificate or certificate chain in PEM format.
quarkus.http.ssl.certificate.key-file -- The file path to the corresponding certificate private key file in PEM format.
quarkus.http.ssl.certificate.key-store-file -- An optional key store which holds the certificate information instead of specifying separate files.
quarkus.http.ssl.certificate.key-store-file-type -- An optional parameter to specify type of the key store file. If not given, the type is automatically detected based on the file name.
Вы можете указать либо файлы сертификата + ключей в формате PEM, либо хранилище ключей.