...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
global:
root-url: https://esup-signature.univ-ville.fr # Adresse d'accès à votre instance
domain: 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-wizard-workflow: false # Désactiver le bouton "Assistant de création de circuit"
hide-auto-sign: false # Désactiver le bouton "Auto signature"
hide-send-sign-request: false # Désactiver le bouton "Demander une signature"
hide-wizard-except-roles: # Rôles faisant exception à la règle hide-wizard précédente
hide-auto-sign-except-roles: # Rôles faisant exception à la règle hide-auto-sign précédente
hide-send-sign-except-roles: # Rôles faisant exception à la règle hide-send-sign précédente
# 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
enable-splash: true # Activer ou non le message d'accueil de la première connexion
application-email: esup.signature@univ-ville.fr # Adresse du compte système et du support qui apparaitra dans l'aide. Il faut utiliser un alias pour éviter la correspondance avec un utilisateur
hours-before-refresh-notif: 24 # Nombre d'heures entre deux relances utilisateur
share-mode: 3 # Valeur de 0 à 3 : 0 = délégations désactivées, 1 = force le mode signature du délégué, 2 = force signature du mandant, 3 = choix du mode possible par l'utilisateur
return-to-home-after-sign: true # Forcer le retour à la page d'accueil après signature
infinite-scrolling: true # Activer l'infinite scrolling sur le tableau de bord, sinon bascule sur de la pagination
signed-suffix: "_signé" # suffix ajouté au fichiers signés
naming-template: "[title]" # Template de renommage des fichiers
enable-scheduled-cleanup: false # Activer ou non l’archivage et le nettoyage automatique. false par défaut
trash-keep-delay: -1 # Délai de conservation dans la corbeille en jours (-1 non actif)
disable-cert-storage: false # Activer/Désactiver la possibilité de stocker des certificats utilisateurs
nb-days-before-deleting: -1 # Nombre de jours après alerte pour suppression des demandes en attente (-1 non actif)
nb-days-before-warning: -1 # Nombre de jours avant alerte de suppression pour les demandes en attente (-1 non actif)
enable-captcha: false # Activer/Désactiver la detection de robot à la connexion ;-)
max-upload-size: 52428800 # Taille maximum des uploads de fichiers en bytes
pdf-only: false # True : restreindre l'upload aux seuls PDF
export-attachements: true # Exporter les pièces jointes (si actif, l'export sera un dossier contenant le document signé ainsi que les PJ)
seal-certificat-driver: /lib/pkcs11/libIDPrimePKCS11.so # Pilote du certificat cachet dans le cas d'un PKCS11
seal-certificat-file: /opt/cert.p12 # Emplacement du certificat cachet dans le cas d'un PKCS12
seal-certificat-pin: ****** # Code pin du certificat cachet
seal-certificat-type: PKCS11 # Type du certificat PKCS11 ou PKCS12
seal-all-docs: false # Appliquer le cachet sur toutes les demandes terminées
rest-ext-value-url: http://api.univ-ville.fr # Adresse du web service de données externes
shib-users-domain-white-list: # Whitelist des domaines authorisés à obtenir le ROLE_USER pour les connexions Shibboleth
- univ-ville.fr
- inv-univ-ville.fr
# forced-externals-domain-list: # Liste permettant de forcer des domaines comme externes
send-postit-by-email: false # Envoyer un email au créateur de la demande lors de l’ajout d’un postit
send-creation-mail-to-viewers: false # Envoyer un email aux observateurs à la création d’une demande
sms-required: true # Imposer la double authentification par SMS pour les externes
file-name-spaces-replace-by: " " # Remplacer les espaces dans les noms de fichiers par le caractère suivant
csv-quote: "\"" # Quote CSV
csv-separator: ";" # Séparateur CSV
otp-validity: 110 # Durée de validité des liens de OTP en minutes
# authorized-sign-types: certsignimagestamp, nexuSignnexucert # Liste des types de signature autorisés (par défault tous les types)
. Les types possibles sont : autoCert, groupCert, imageStamp, nexuCert, openPkiCert, sealCert, userCert
export-attachements: true # Exporter les pièces jointes (si actif, l'export sera un dossier contenant le document signé ainsi que les PJ)
external-signature-params: # Configuration des signatures des externes
add-watermark: false
add-extra: true
extra-type: false
extra-name: false
extra-date: true
extra-on-top: true
# extra-text: ""
french-phone-number-only: false # Activer la vérification des numéros de téléphone français pour l'OTP |
Pour la gestion des rôles voir : Documentation administrateur#Gestiondesr%C3%B4les
| Info |
|---|
Détails concernant le système de renommage des fichiers : Le modèle est construit à l'aide d'attributs entre crochets. default : [title] Les attributs disponibles sont :
|
tomcat
Ce paramètre permet de spécifier le port ajp dans le cas ou l'application est démarrée directement (en lançant directement esup-signature.war ou 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
session
À ne pas modifier. Permet l'activation de spring-session.
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
session:
jdbc:
initialize-schema: always
save-mode: always |
data, datasource
Configuration de la base de donnée :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/esupsignature
password: esup
username: esupsignature
jdbc-url: ${spring.datasource.url}
hikari:
auto-commit: false |
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 | ||||
|---|---|---|---|---|
| ||||
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQLDialect
format_sql: true
jdbc:
lob:
non_contextual_creation: true
show-sql: false
open-in-view: false |
ldap
Configuration de l'accès ldap pour spring (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 |
Configuration du serveur de mail pour l'envoi des alertes
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
mail:
host: smtp.univ-ville.fr |
servlet, thymeleaf, web, mvc
external-can-edit: false # Activer les annotations pour les utilisateurs externes (pour les demandes hors circuit)
search-for-external-users: false # Faire apparaitre les users externes dans la recherche full texte
seal-for-externals: false # Autoriser les externes à signer avec le cachet
seal-authorized-for-signed-files: false # Autoriser automatiquement le certificat cachet pour les demandes internes déjà signés avec un certificat
hide-hidden-visa: false # Indique si les vérification (visas cachés) doivent être masqués dans l'interface utilisateur. |
Pour les types de signatures voir : Documentation administrateur#Lesmoyensdesignature
Pour la gestion des rôles voir : Documentation administrateur#Gestiondesr%C3%B4les
| Info |
|---|
Détails concernant le système de renommage des fichiers : Le modèle est construit à l'aide d'attributs entre crochets. default : [title] Les attributs disponibles sont :
|
tomcat
Ce paramètre permet de spécifier le port ajp dans le cas ou l'application est démarrée directement (en lançant directement esup-signature.war ou 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.Ne pas modifier, concerne la configuration web de spring
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
servlet: multipart: enabled: true max-file-size: 1280KB max-request-size: 1280KB resolve-lazily: true thymeleaftomcat: ajp: cache: false encoding: UTF-8 mode: HTML servlet:port: 6009 |
...
spring
session
À ne pas modifier. Permet l'activation de spring-session.
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
session: jdbc: initialize-schema: always produce-partial-output-while-processing: false web: save-mode: always |
data, datasource
Configuration de la base de donnée :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
resourcesdatasource: cache:driver-class-name: org.postgresql.Driver cachecontrol:url: jdbc:postgresql://localhost:5432/esupsignature max-agepassword: 1desup cache-public: true username: esupsignature jdbc-url: ${spring.datasource.url} hikari: static-locations: classpath:/static mvc: static-path-pattern: /** |
security
Via le protocole oauth2 inclus dans spring-security il est possible de configurer l'authentification avec n'importe quel fournisseur d'identité compatible.
...
auto-commit: false |
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 | ||||
|---|---|---|---|---|
| ||||
security: oauth2: client: registration: jpa: hibernate: franceconnectddl-auto: update properties: hibernate: dialect: org.hibernate.dialect.PostgreSQLDialect providerformat_sql: franceconnect-idptrue authorization-grant-type: authorization_codejdbc: client-id: <client_id> lob: client-secret: <client_secret> non_contextual_creation: true show-sql: false open-in-view: false |
ldap
Configuration de l'accès ldap pour spring (obligatoire si l'authentification CAS est activée)
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
ldap: base: dc=univ-ville,dc=fr client-authentication-method: client_secret_post password: ******** urls: ldap://ldap.univ-ville.fr redirect-uri: "{baseUrl}/login/oauth2/username: cn=consult,dc=univ-ville,dc=fr |
Configuration du serveur de mail pour l'envoi des alertes
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
code/{registrationId}" mail: host: smtp.univ-ville.fr |
servlet, thymeleaf, web, mvc
Ne pas modifier, concerne la configuration web de spring
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
servlet: scopemultipart: enabled: true max-file-size: 1280KB - openidmax-request-size: 1280KB resolve-lazily: true thymeleaf: cache: false - family_nameencoding: UTF-8 mode: HTML servlet: - given_nameproduce-partial-output-while-processing: false web: resources: cache: cachecontrol: - email max-age: 1d provider: cache-public: true franceconnect-idpstatic-locations: classpath:/static mvc: authorization-uri: https://fcp.integ01.dev-franceconnectstatic-path-pattern: /** |
security
Via le protocole oauth2 inclus dans spring-security il est possible de configurer l'authentification avec n'importe quel fournisseur d'identité compatible.
| Avertissement |
|---|
Attention, depuis la version 1.24, les noms de fournisseur franceconnect et proconnect sont reservés pour l'authentification des externes... De plus la configuration a changée ; une page dédiée est disponible ici : Signature des extérieurs (ProConnect, FranceConnect, SMS...) |
Pour configuer l'accès à la route /ws-jwt vous devez ajouter l'url de votre fournisseur de jetons :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
security: .fr/api/v1/authorize oauth2: token-uri: https://fcp.integ01.dev-franceconnect.fr/api/v1/tokenclient: user-info-uri: https://fcp.integ01.dev-franceconnect.fr/api/v1/userinfoprovider: user-name-attribute: subcas: user-info-authentication-method: headerissuer-uri: https://cas.univ-ville.fr/oidc |
...
ldap
La configuration ldap hors spring est spécifique à votre établissement, elle précise les modalités de recherche de vos utilisateur dans l'annuaire
...
| Remarque |
|---|
Pour que la signature soit valable, le fournisseur du timestamp doit apparaitre dans la liste European Trusted List (EUTL). Sur cette page on trouve une liste de serveurs utilisables : https://gist.github.com/Manouchehri/fd754e402d98430243455713efada710. Il faut faire attention à ne prendre que des fourniseurs Adobe ou EUTL. Par défaut, DSS Signature propose d'utiliser http://tsa.belgium.be/connect cependant il semble que le serveur impose un nombre maximum de requetes. Depuis la version 1.28.9 il est possible de saisir plusieurs urls. Dans ce cas le système essai chaque adresse jusqu'a obtenir un timestamp. |
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 :
| Info |
|---|
Les autres paramètres n'ont pas besoin d'être modifiés |
plusieurs urls. Dans ce cas le système essai chaque adresse jusqu'a obtenir un timestamp. |
| 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-servers:
- http://timestamp.sectigo.com/qualified
- http://tsa.belgium.be/connect
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
country: FR # Informations de localisation qui apparaîtront dans les signatures électroniques
state-or-province: Région # Informations de localisation qui apparaîtront dans les signatures électroniques
postal-code: XXXXX # Informations de localisation qui apparaîtront dans les signatures électroniques
locality: Ville # Informations de localisation qui apparaîtront dans les signatures électroniques
check-revocation-for-untrusted-chains: true # Débloque la possibilité de signer avec des certificats non eIDas si on met false (ex : Sectigo Rénater)
multi-thread-tl-validation: true # Récupération des trustlists en multi thread
accept-signature-field-overlap: false | ||||
| 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-servers: - http://timestamp.sectigo.com/qualified - 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 country: FR state-or-province: Région postal-code: XXXXX locality: Ville check-revocation-for-untrusted-chains: true #Débloque# laPermet possibilitéd'autoriser dela signer avecsuperposition des certificatssignatures non eIDas (ex : Sectigo Rénater)pades visuelles |
Si votre serveur se trouve derrière un forward proxy, vous pouvez ajouter la configuration suivante directement à la racine du fichier de configuration. Cela permet à DSS d'aller chercher les certificats de confiance sur les serveurs européens
...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
pdf:
convert-to-pdf-a: true
path-to-g-s: /usr/bin/gs
pdf-a-level: 2
pdf-to-image-dpi: 72
auto-rotate: true # Corrige automatiquement la rotation des documents en portait qui ont été tournés de 90° rotation des documents en portait qui ont été tournés de 90°
gs-command-params: -dSubsetFonts=true -dEmbedAllFonts=true -dAlignToPixels=0 -dGridFitTT=2 -dCompatibilityLevel=1.4 -sColorConversionStrategy=RGB -sDEVICE=pdfwrite -dPDFACompatibilityPolicy=1 |
Attention l'option -dPDFSTOPONERROR anciennement présente semble poser des problèmes lors de la convertion (en cas d'erreur le document est renvoyer même s'il n'est pas fini de convertir)
...
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.
...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
springdoc:
api-docs:
enabled: true
swagger-ui:
enabled: true
supported-submit-methods: []
packages-to-scan: org.esupportail.esupsignature.web.ws, org.esupportail.esupsignature.web.wsjwt
|
...
| 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:
|
...