diff --git a/java/Makefile b/java/Makefile --- a/java/Makefile +++ b/java/Makefile @@ -13,6 +13,7 @@ SUBDIR += apache-commons-logging SUBDIR += apache-commons-pool SUBDIR += aparapi + SUBDIR += autofirma SUBDIR += avis SUBDIR += berkeley-db SUBDIR += bluej diff --git a/java/autofirma/Makefile b/java/autofirma/Makefile new file mode 100644 --- /dev/null +++ b/java/autofirma/Makefile @@ -0,0 +1,57 @@ +PORTNAME= autofirma +DISTVERSION= 1.9 +CATEGORIES= java security +MASTER_SITES= https://firmaelectronica.gob.es/content/dam/firmaelectronica/descargas-software/autofirma19/ +DISTNAME= Autofirma_Linux_Debian + +MAINTAINER= fernape@FreeBSD.org +COMMENT= Spanish Government digital signature application +WWW= https://sedediatid.digital.gob.es/es-es/firmaelectronica/Paginas/AutoFirma.aspx + +LICENSE= GPLv2 EUPL11 +LICENSE_COMB= dual +LICENSE_FILE= ${WRKSRC}/usr/share/common-licenses/eupl-1.1.txt + +USES= desktop-file-utils java zip +JAVA_VERSION= 24 +JAVA_VENDOR= openjdk + +KEYSTORE_FILENAME= afirma-keystore.jks +KEYSTORE= ${DATADIR}/${KEYSTORE_FILENAME} + +DATADIR= ${JAVASHAREDIR}/${PORTNAME} + +SUB_FILES= ${PORTNAME} \ + Autofirma.js +SUB_LIST+= KEYSTORE=${KEYSTORE} \ + BIN_PATH=${PREFIX}/bin + +WRKSRC=${WRKDIR} + +post-extract: + ${TAR} -C ${WRKDIR} -xvzf ${WRKDIR}/autofirma_1_9.deb + ${TAR} -C ${WRKDIR} -xvzf ${WRKDIR}/data.tar.gz + +do-build: + # Create a key store with a dummy key + ${JAVA_KEYTOOL} -genkeypair -alias afirmaks -keystore \ + ${WRKDIR}/${KEYSTORE_FILENAME} -storepass changeit \ + -keypass changeit -dname "CN=temp" -keyalg RSA + + # # Import each certificate + for cert in /usr/share/certs/trusted/Sec*.pem; do \ + ${JAVA_KEYTOOL} -importcert -noprompt -trustcacerts -file \ + "$$cert" -alias "$$(basename "$$cert")" \ + -keystore ${WRKDIR}/${KEYSTORE_FILENAME} -storepass changeit; \ + done + +do-install: + ${MKDIR} ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${WRKDIR}/${KEYSTORE_FILENAME} ${STAGEDIR}${KEYSTORE} + ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_DATA} ${WRKSRC}/usr/lib/Autofirma/autofirma.jar ${STAGEDIR}${JAVAJARDIR} + ${INSTALL_DATA} ${WRKSRC}/usr/lib/Autofirma/Autofirma.png ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/usr/share/applications/afirma.desktop ${STAGEDIR}${PREFIX}/share/applications/ + ${INSTALL_DATA} ${WRKDIR}/Autofirma.js ${STAGEDIR}${DATADIR} + +.include diff --git a/java/autofirma/distinfo b/java/autofirma/distinfo new file mode 100644 --- /dev/null +++ b/java/autofirma/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1762021451 +SHA256 (Autofirma_Linux_Debian.zip) = c29c251f2ee9f00dfc87f9582677dbd436a83565986ab0417ff065ceae716798 +SIZE (Autofirma_Linux_Debian.zip) = 67295518 diff --git a/java/autofirma/files/Autofirma.js.in b/java/autofirma/files/Autofirma.js.in new file mode 100644 --- /dev/null +++ b/java/autofirma/files/Autofirma.js.in @@ -0,0 +1,4 @@ +pref("network.protocol-handler.app.afirma","%%BIN_PATH%%/autofirma"); +pref("network.protocol-handler.warn-external.afirma",false); +pref("network.protocol-handler.external.afirma",true); + diff --git a/java/autofirma/files/autofirma.in b/java/autofirma/files/autofirma.in new file mode 100644 --- /dev/null +++ b/java/autofirma/files/autofirma.in @@ -0,0 +1,10 @@ +#!/bin/sh +export AFIRMA_NSS_HOME_ENV=%%LOCALBASE%%/lib/ +JAVA_CMD=$(which java) +JAVA_OPTS="-Djavax.net.ssl.trustStoreType=JKS \ + -Djavax.net.ssl.trustStore=%%KEYSTORE%% \ + -Djavax.net.ssl.trustStorePassword=changeit \ + -Dmozilla.cfg.dir=/usr/local/lib \ + -Djdk.tls.maxHandshakeMessageSize=65536 \ + -Des.gob.afirma.keystores.mozilla.UseEnvironmentVariables=true" +${JAVA_CMD} ${JAVA_OPTS} -jar %%JAVAJARDIR%%/autofirma.jar "$@" diff --git a/java/autofirma/pkg-descr b/java/autofirma/pkg-descr new file mode 100644 --- /dev/null +++ b/java/autofirma/pkg-descr @@ -0,0 +1,4 @@ +AutoFirma is a desktop application that allows signing documents with digital +certificates. +It is the official digital signature application of the Spanish Government and a +requirement for many digital procedures. diff --git a/java/autofirma/pkg-plist b/java/autofirma/pkg-plist new file mode 100644 --- /dev/null +++ b/java/autofirma/pkg-plist @@ -0,0 +1,6 @@ +bin/autofirma +share/applications/afirma.desktop +%%DATADIR%%/Autofirma.js +%%DATADIR%%/Autofirma.png +%%DATADIR%%/afirma-keystore.jks +%%JAVAJARDIR%%/autofirma.jar