Je suis le tutoriel de: https://github.com/jbosstm/quickstart/tree/master/XTS/ssl
L'utilisation de jboss-cli a ajouté avec succès le domaine de sécurité:
/core-service=management/security-realm=SSLRealm:add()
/core-service=management/security-realm=SSLRealm/server-identity=ssl:add( \
keystore-path=./standalone/configuration/server.keystore, \
keystore-password=client, \
alias=client)
Quand j'essaie d'ajouter un https-listener
:
/subsystem=undertow/server=default-server/https-listener=https:add( \
socket-binding="https", security-realm="SSLRealm" \
)
WildFly lève une exception:
{
"outcome" => "failed",
"failure-description" => "JBAS014750: Operation handler failed to complete",
"rolled-back" => true
}
Des idées comment ajouter le https-listener
?
Voici ce qui a fonctionné pour moi sur WildFly 8.1:
Ajouter un royaume:
[standalone@localhost:9990 /] /core-service=management/security-realm=WebSocketRealm:add()
{"outcome" => "success"}
Configurez-le:
[standalone@localhost:9990 /] /core-service=management/security-realm=WebSocketRealm/server-identity=ssl:add(keystore-path=websocket.keystore, keystore-relative-to=jboss.server.config.dir, keystore-password=websocket)
{
"outcome" => "success",
"response-headers" => {
"operation-requires-reload" => true,
"process-state" => "reload-required"
}
}
Ajouter un nouvel auditeur:
[standalone@localhost:9990 /] /subsystem=undertow/server=default-server/https-listener=https:add(socket-binding=https, security-realm=WebSocketRealm)
{
"outcome" => "success",
"response-headers" => {"process-state" => "reload-required"}
}
Et puis redémarrer:
[standalone@localhost:9990 /] reload
Cela a ajouté les fragments suivants à standalone/configuration/standalone.xml:
<security-realm name="WebSocketRealm">
<server-identities>
<ssl>
<keystore path="websocket.keystore" relative-to="jboss.server.config.dir" keystore-password="websocket"/>
</ssl>
</server-identities>
</security-realm>
et
<https-listener name="https" socket-binding="https" security-realm="WebSocketRealm"/>
Quelle version de WildFly utilisez-vous?
Je l'ai fait en adaptant le fichier standalone.xml. Autant que je me souvienne, les étapes sont les suivantes:
Ajouter un domaine de sécurité pour l'écouteur SSL
<security-realm name="SSLRealm">
<server-identities>
<ssl protocol="TLS">
<keystore path="keystore-name" relative-to="jboss.server.config.dir" keystore-password="password" alias="alias"/>
</ssl>
</server-identities>
<authentication>
<truststore path="truststorename" relative-to="jboss.server.config.dir" keystore-password="password"/>
</authentication>
</security-realm>
Ajout du https-listener à la configuration de ressac
<https-listener name="default-https" socket-binding="https" security-realm="SSLRealm" verify-client="REQUESTED"/>
Ajout de la liaison de socket pour le https-listener à la liste des liaisons de socket
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
Je n'ai pas encore essayé d'ajouter cet auditeur à l'aide de l'interface de gestion, mais l'approche ci-dessus a parfaitement fonctionné.
Dans mon cas, le magasin de clés utilisé dans le domaine de sécurité n'était pas présent lorsque j'ai tenté d'ajouter le https-listener. Après avoir copié le magasin de clés dans le répertoire config et exécuté reload
dans la CLI, j'ai pu ajouter le https-listener à la CLI.
Bien que la CLI n’imprime pas de message d’erreur, la console vous indique que wildfly ne peut pas trouver le fichier de clés.