Lorsque tous les Prérequis sont installés et PostgreSQL configuré, vous pouvez récupérer les sources.
A partir de cette étape vous n’êtes plus en root. Ici l'utilisateur courant est le compte local esup : |
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 |
Vous pouvez modifier les premières ligne du fichier messages.properties pour spécifier le texte du footer et le titre de l'application
application.title = Esup Signature application.version=1.0 application.footer=Université de Rouen Normandie |
Par défaut le chemin est relatif.
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. |
<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> |
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.
Il faut faire attention à l'indentation lors de la modification du fichier. Une mauvaise indentation peut faire échouer la compilation |
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.
Pour des tests en local, il est possible d'utiliser http://localhost:8080 pour root-url |
global: root-url: https://esup-signature.univ-ville.fr # Adresse d'accès à votre instance group-prefix-role-name: for.esup-signature.role # Préfixe permettant de distingué les rôles propres à esup-signature (utile pour donner accès aux circuits et formulaires) 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 enable-splash: true # Activer ou non le message d'accueil de la première connexion version: '@project.version@' |
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.
#tomcat: # ajp: # port: 6009 |
Configuration de la base de donnée :
datasource: driver-class-name: org.postgresql.Driver hikari: auto-commit: false password: esup url: jdbc:postgresql://localhost:5432/esupsignature username: esupsignature |
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.
Attention au mode create qui, lui, détruit et re-crée la base complète au moment du démarrage de l'application |
hibernate: ddl-auto: update properties: hibernate: dialect: org.hibernate.dialect.PostgreSQLDialect format_sql: true jdbc: lob: non_contextual_creation: true show-sql: false |
Configuration de l'accès ldap pour spring (obligatoire si l'authentification CAS est activée)
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
mail: host: smtp.univ-ville.fr |
La configuration ldap hors spring est spécifique à votre établissement, elle précise les modalités de recherche de vos utilisateur dans l'annuaire
ldap: search-base: ou=people # base de recherche (ou dans laquelle se trouve les comptes utilisateurs search-filter: (uid={0}) # le champ dans lequel on trouve le login des utilisateurs affiliation-filter: staff, member, affiliate # permet de filtrer les types d'utilisateurs autorisés à accéder à esup-signature group-search-filter: member={0} # filtre pour la recherche des groupes member-search-filter: (&(uid={0})({1})) # filtre pour contrôler l'appartenance à un groupe ldap-filters-groups: # liste d'attribution de rôle en fonction d'un filtre LDAP student : "eduPersonAffiliation:=student" staff : "eduPersonAffiliation:=staff" |
Dans la partie mail (hors spring) vous pouvez paramétrer l'adresse from pour l'envoi de mails
mail: from: no-reply.esup-signature@univ-ville.fr |
Cette partie permet de configurer un service d'envoi de sms pour l'utilisation de la fonction One Time Password à destination des personnes extérieures à l’établissement. Pour l'instant seule une implémentation pour SMSU est disponible
sms: enable-sms : false # service-name: SMSU # url: https://smsu-api.univ-ville.fr/ # username: sms-account # password: ******** |
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 :
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 |
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.
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 |
Paramètres de traitement des PDF
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 |
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.
CAS nécessite la configuration d'un LDAP. C'est la solution idéale pour une utilisation interne |
Pour CAS : domain : votre domaine group-mapping-role-admin : nom du "cn" du groupe dans ou=groups. 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 |
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 |
cas: domain: univ-ville.fr group-mapping-role-admin: for.esup-signature.admin 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) # domains-white-list-url: https://eduspot.renater.fr/eduspot/whitelist-eduspot.txt ws: ws-access-authorize-ips: 127.0.0.1 |
ws-access-authorize-ips : permet de configurer les adresses autorisées à accéder aux web services d' esup-signature |
Paramètre du serveur lors d'un lancement hors tomcat
server: error: include-stacktrace: always port: 8080 |
Vous pouvez ajuster finement les paramètres de signature électronique en modifiant les lignes suivante:
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 |
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:
|
La suite ici : Compilation et déploiement |