Keycloak + CryptoPRO JCP + GOST algorithms
3.7K
Например:
docker run -d --name keycloak \
-e DB_VENDOR=postgres \
-e JDBC_PARAMS='connectTimeout=10' \
-e DB_ADDR='172.18.0.6' \
-e DB_PORT='5432' \
-e DB_DATABASE='keycloak' \
-e DB_USER='postgres' \
-e DB_PASSWORD='postgres' \
-p 8090:8080 \
-e KEYCLOAK_USER=admin \
-e KEYCLOAK_PASSWORD=admin \
-v /opt/docker/keycloak/standalone/configuration/standalone-ha.xml:/opt/jboss/keycloak/standalone/configuration/standalone-ha.xml \
-v /opt/docker/keycloak/standalone/conf:/opt/jboss/keycloak/standalone/conf \
-v /opt/docker/keycloak/standalone/keys:/var/opt/cprocsp/keys \
-v /opt/docker/keycloak/standalone/log:/opt/jboss/keycloak/standalone/log \
rrrrrr111/keycloak_cryptopro
Папка контейнера /var/opt/cprocsp/keys используется для хранения ключей CryptoPRO JCP. Папки ключей
кладутся в подпапки с именами профилей пользователей. По умолчанию приложение в контейнере запускается под
пользователем jboss, соответственно ключи должны размещаться в /var/opt/cprocsp/keys/jboss/.
В настройках keycloak нужно подключить модуль CryptoPro, для этого в файле
<keycloak_home>\standalone\configuration\standalone-ha.xml добавить:
...
<subsystem xmlns="urn:jboss:domain:ee:5.0">
...
<global-modules>
<module name="cryptopro" slot="main" />
</global-modules>
</subsystem>
...
Через административный интерфейс Keycloak добавить необходимый провайдер подписи. Для этого в
настройках Realm на закладке Keys -> Providers, добавить keystore типа 'gost-keystore'. В настройках нового
keystore указать соответствующие настройки ключа подписи, при работе с CryptoPro указать JCA Provider: JCP,
провайдер JCP не появится в списке если модуль CryptoPro не был подключен. Указать Keystore: HDImageStore.
Удалить остальные провайдеры подписи на закладке Providers. В настройках Realm на закладке Tokens выбрать
необходимый ГОСТ алгоритм подписи.
Content type
Image
Digest
sha256:58b6eb63f…
Size
860.2 MB
Last updated
about 3 years ago
docker pull rrrrrr111/keycloak_cryptopro