Récupération des sources
Lorsque tous les Prérequis sont installés et PostgreSQL configuré, vous pouvez récupérer les sources.
Info |
---|
A partir de cette étape vous n’êtes plus en root. Ici l'utilisateur courant est le compte local esup : |
Bloc de code |
---|
|
cd /opt/
sudo mkdir esup-signature
sudo chown esup:esup esup-signature/ -R
git clone https://github.com/EsupPortail/esup-signature.git
cd esup-signature |
Configuration
src/main/resources/i18n/messages.properties
Vous pouvez modifier les premières ligne du fichier messages.properties pour spécifier le texte du footer et le titre de l'application
Bloc de code |
---|
|
application.title = Esup Signature
application.version=0.12
application.footer=Université de Rouen Normandie |
src/main/resources/logback.xml
Par défaut le chemin est relatif.
Remarque |
---|
Si vous modifiez l'emplacement du fichier de log par un chemin absolu, celui-ci doit exister et être accessible au compte qui exécute esup-signature. |
Bloc de code |
---|
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/esup-signature.log</file>
<append>true</append>
<immediateFlush>true</immediateFlush>
<encoder>
<pattern>[%-5level] %date{dd/MM/yyyy HH:mm:ss} %logger{35} - %msg%n</pattern>
</encoder>
</appender>
|
src/main/resources/application.yml
La configuration d' esup-signature se fait au travers du fichier src/main/ressource/application.yml
Pour commenter une ligne il faut ajoute un # devant.
global
Dans la plupart des cas il s'agit ici de modifier root-url par l'adresse de votre esup-signature. Vous pouvez aussi configurer le système d'archivage et activer le switch user.
Bloc de code |
---|
|
root-url: https://esup-signature.univ-ville.fr
nexu-url: https://localhost:9895
nexu-version: 1.23-SNAPSHOT
nexu-download-url: /downloads/nexu-bundle.zip
hide-wizard: false # Désactiver le bouton "Assistant de création de demande"
hide-auto-sign: false # Désactiver le bouton "Auto siganture"
hide-send-sign-request: false # Désactiver le bouton "Demander une signature"
archive-uri: smb://serveur_fichier/archives # chemin pour l'archivage des documents
# delay-before-cleaning : 0 # Délai en jours après signature pour archivage et nettoyage des documents (désactivé si commenté)
enable-su: false # Activer ou non le switch user |
tomcat
Ce paramètre permet de spécifier le port ajp dans le cas ou l'application est démarrée directement (en utilisant mvn springboot:run par exemple)
Par défaut ces lignes sont commentées, cela doit être ainsi lorsque l'application est démarrée par un serveur Tomcat.
Bloc de code |
---|
|
#tomcat:
# ajp:
# port: 6009 |
spring
datasource
Configuration de la base de donnée :
Bloc de code |
---|
|
datasource:
driver-class-name: org.postgresql.Driver
hikari:
auto-commit: false
password: esup
url: jdbc:postgresql://localhost:5432/esupsignature
username: esupsignature |
jpa
Il faut prêter une attention particulière au paramètre ddl-auto. Mode update permet la création et la mise à jour de la base de donnée lors du démarrage de l'application ou des tests. Ce mode peut éventuellement être utilisé lors des mises à jour de l'application. Le reste du temps (en production par exemple) ce paramètre peut être positionné sur validate qui ne fera qu’exécuter un contrôle de la base de données.
Avertissement |
---|
Attention au mode create qui, lui, détruit et re-crée la base complète au moment du démarrage de l'application |
Bloc de code |
---|
|
hibernate:
ddl-auto: update
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQLDialect
format_sql: true
jdbc:
lob:
non_contextual_creation: true
show-sql: false |
ldap
Configuration de l'accès ldap (obligatoire si l'authentification CAS est activée)
Bloc de code |
---|
|
ldap:
base: dc=univ-ville,dc=fr
password: ********
urls: ldap://ldap.univ-ville.fr
username: cn=consult,dc=univ-ville,dc=fr |
mail
Configuration du serveur de mail pour l'envoi des alertes
Bloc de code |
---|
|
mail:
host: smtp.univ-ville.fr |
mail
Dans la partie mail (hors spring) vous pouvez paramétrer l'adresse from pour l'envoi de mails
Bloc de code |
---|
|
mail:
from: no-reply.esup-signature@univ-ville.fr |
dss
ks-filename : par défaut le chemin est relatif. Comme dans la configuration logback, si vous voulez spécifier un chemin absolu, le dossier doit avoir été créé avant le premier lancement.
trusted-certificat-url-list : ici vous pouvez ajouter des liens vers les url des certificats non présents dans le journal officiel mais valide dans votre établissent :
Bloc de code |
---|
|
dss:
cache-data-source-driver-class-name: org.hsqldb.jdbc.JDBCDriver
cache-data-source-url: jdbc:hsqldb:mem:cachedb
cache-password:
cache-username: sa
default-validation-policy: policy/sign-constraint.xml
server-signing-keystore-filename: validate_service.p12
server-signing-keystore-password: password
server-signing-keystore-type: PKCS12
tsp-server: http://tsa.belgium.be/connect
ks-filename: oj_keystore.p12
ks-password: dss-password
ks-type: PKCS12
lotl-country-code: EU
lotl-url: https://ec.europa.eu/tools/lotl/eu-lotl.xml
oj-url: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.C_.2019.276.01.0001.01.ENG
trusted-certificat-url-list: https://cacerts.digicert.com/DigiCertAssuredIDRootG3.crt, https://cacerts.digicert.com/DigiCertAssuredIDRootCA.crt, https://cacerts.digicert.crt
|
fs (file system)
La partie file system (fs) permet de configurer une source principale de donnée pour chaque type de stockage (smb, cmis, vfs). esup-signature ne prend en charge qu'une seule source par type.
Bloc de code |
---|
|
fs:
# smb-login: esup-signature
# smb-password: ********
# smb-uri: smb://smb.univ-ville.fr
vfs-uri: /tmp
# cmis-uri: https://esup-signature.univ-ville.fr/nuxeo
# cmis-login: Administrator
# cmis-password: Administrator
# cmis-respository-id: default
# cmis-root-path: /default-domain/workspaces |
pdf
Paramètres de traitement des PDF
Bloc de code |
---|
|
convert-to-pdf-a: true
height: 842
path-to-g-s: /usr/bin/gs
pdf-a-level: 2
pdf-to-image-dpi: 72
sign-width-threshold: 150
width: 595 |
security
La sécurité est gérée par Spring Security. Il est possible d'activé 3 mécanismes de sécurité : OAuth, Shibboleth et/ou CAS. Pour désactiver une ou l'autre de ces méthodes, il suffit de commenter les lignes qui s'y réfèrent.
Remarque |
---|
CAS nécessite la configuration d'un LDAP. C'est la solution idéale pour une utilisation interne |
Info |
---|
|
Pour CAS : domain : votre domaine group-mapping-role-admin : nom du "cn" du groupe dans ou=groups EN MAJUSCULE et préfixé par ROLE_ (réf). Donne les droits d'administration. key : une clé CAS (Spring Security nécessite une clé, il est possible de mettre ce que l'on veut) url : l'adresse de votre serveur CAS |
Info |
---|
|
Pour Shibboleth : credentials-request-header : attribut dans lequel on trouve les groupes de l'utilisateur idp -url : adresse de votre IDP Shibboleth principal-request-header : attribut dans lequel on trouve l'identifiant de l'utilisateur |
Bloc de code |
---|
|
cas:
domain: univ-ville.fr
group-mapping-role-admin: ROLE_FOR.ESUP-SIGNATURE.ADMIN
key: EsupSignatureUnivVilleCAS
service: https://esup-signature.univ-ville.fr/login/cas
title: Compte Université (CAS)
url: https://cas.univ-ville.fr
# shib:
# credentials-request-header: MEMBER
# group-mapping-role-admin: cn=for.esup-signature.admin,ou=groups,dc=univ-ville
# idp-url: https://idp.univ-ville.fr
# principal-request-header: REMOTE_USER
# title: Compte d’un autre établissement (Shibboleth)
ws:
ws-access-authorize-ips: 127.0.0.1 |
Info |
---|
ws-access-authorize-ips : permet de configurer les adresses autorisées à accéder aux web services d' esup-signature |
server
Paramètre du serveur lors d'un lancement hors tomcat
Bloc de code |
---|
|
server:
error:
include-stacktrace: always
port: 8080
|
sign
Vous pouvez ajuster finement les paramètres de signature électronique en modifiant les lignes suivante:
Bloc de code |
---|
|
sign:
cades-digest-algorithm: SHA256
cades-signature-level: CAdES_BASELINE_T
container-type: ASiC_E
default-signature-form: XAdES
pades-digest-algorithm: SHA256
pades-signature-level: PAdES_BASELINE_T
password-timeout: 60000
signature-packaging: ENVELOPED
xades-digest-algorithm: SHA256
xades-signature-level: XAdES_BASELINE_T |
Avertissement |
---|
Lorsque votre configuration sera terminée, vous devez creer un commit git, ceci afin d'éviter tout problème lors d'une prochaine mise à jour. Les commandes git à lancer: Bloc de code |
---|
| git add .
git commit -m "ma conf de prod" |
|