diff --git a/appletFirma/target/appletFirma-2.1.jar b/appletFirma/target/appletFirma-2.1.jar index 7746982..f9dae51 100644 Binary files a/appletFirma/target/appletFirma-2.1.jar and b/appletFirma/target/appletFirma-2.1.jar differ diff --git a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$1.class b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$1.class index 7152dd5..ebd2148 100644 Binary files a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$1.class and b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$1.class differ diff --git a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$2.class b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$2.class index 6422216..74f9d13 100644 Binary files a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$2.class and b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$2.class differ diff --git a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$3.class b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$3.class index b641582..c2e7a76 100644 Binary files a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$3.class and b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$3.class differ diff --git a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$4.class b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$4.class index 9d8f4a2..ce82788 100644 Binary files a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$4.class and b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$4.class differ diff --git a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$5.class b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$5.class index c170cb7..c43254a 100644 Binary files a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$5.class and b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$5.class differ diff --git a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$6.class b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$6.class index d8db912..417d08f 100644 Binary files a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$6.class and b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet$6.class differ diff --git a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet.class b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet.class index d6e860d..0586329 100644 Binary files a/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet.class and b/appletFirma/target/classes/com/fp/firma/applet/FirmaApplet.class differ diff --git a/appletFirma/target/classes/com/fp/firma/common/CertificateUtils.class b/appletFirma/target/classes/com/fp/firma/common/CertificateUtils.class index 3a00a7d..3a9c1e0 100644 Binary files a/appletFirma/target/classes/com/fp/firma/common/CertificateUtils.class and b/appletFirma/target/classes/com/fp/firma/common/CertificateUtils.class differ diff --git a/appletFirma/target/classes/com/fp/firma/common/FirmMessages.class b/appletFirma/target/classes/com/fp/firma/common/FirmMessages.class index c7fdf19..47d4d90 100644 Binary files a/appletFirma/target/classes/com/fp/firma/common/FirmMessages.class and b/appletFirma/target/classes/com/fp/firma/common/FirmMessages.class differ diff --git a/appletFirma/target/classes/com/fp/firma/common/FirmasException.class b/appletFirma/target/classes/com/fp/firma/common/FirmasException.class index 4113735..dca5274 100644 Binary files a/appletFirma/target/classes/com/fp/firma/common/FirmasException.class and b/appletFirma/target/classes/com/fp/firma/common/FirmasException.class differ diff --git a/appletFirma/target/classes/com/fp/firma/component/PasswordDialog$1.class b/appletFirma/target/classes/com/fp/firma/component/PasswordDialog$1.class index 154250a..e899881 100644 Binary files a/appletFirma/target/classes/com/fp/firma/component/PasswordDialog$1.class and b/appletFirma/target/classes/com/fp/firma/component/PasswordDialog$1.class differ diff --git a/appletFirma/target/classes/com/fp/firma/component/PasswordDialog.class b/appletFirma/target/classes/com/fp/firma/component/PasswordDialog.class index cb5b912..07473e9 100644 Binary files a/appletFirma/target/classes/com/fp/firma/component/PasswordDialog.class and b/appletFirma/target/classes/com/fp/firma/component/PasswordDialog.class differ diff --git a/appletFirma/target/classes/com/fp/firma/dto/TfirmDatosFirmante.class b/appletFirma/target/classes/com/fp/firma/dto/TfirmDatosFirmante.class index 90233e5..3cb8294 100644 Binary files a/appletFirma/target/classes/com/fp/firma/dto/TfirmDatosFirmante.class and b/appletFirma/target/classes/com/fp/firma/dto/TfirmDatosFirmante.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class b/appletFirma/target/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class index cf8e5cf..74d5061 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class and b/appletFirma/target/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/FileKeyStoreProvider.class b/appletFirma/target/classes/com/fp/firma/keystore/FileKeyStoreProvider.class index 1a70869..b54a175 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/FileKeyStoreProvider.class and b/appletFirma/target/classes/com/fp/firma/keystore/FileKeyStoreProvider.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/KeyStoreProvider.class b/appletFirma/target/classes/com/fp/firma/keystore/KeyStoreProvider.class index 84713b8..77c36bf 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/KeyStoreProvider.class and b/appletFirma/target/classes/com/fp/firma/keystore/KeyStoreProvider.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class b/appletFirma/target/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class index 8d58650..c9a198e 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class and b/appletFirma/target/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class b/appletFirma/target/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class index bfad226..8e0a8ec 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class and b/appletFirma/target/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/MockKeyStoreProvider.class b/appletFirma/target/classes/com/fp/firma/keystore/MockKeyStoreProvider.class index 38c4097..0ef6043 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/MockKeyStoreProvider.class and b/appletFirma/target/classes/com/fp/firma/keystore/MockKeyStoreProvider.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class b/appletFirma/target/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class index a4b61cc..e3a699d 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class and b/appletFirma/target/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/SimpleCallbackHandler.class b/appletFirma/target/classes/com/fp/firma/keystore/SimpleCallbackHandler.class index 30aca11..d626ab8 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/SimpleCallbackHandler.class and b/appletFirma/target/classes/com/fp/firma/keystore/SimpleCallbackHandler.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class b/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class index c714a7f..6fdeead 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class and b/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class b/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class index f8b00d8..3c1a6d9 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class and b/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class b/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class index cb7a4ad..bdbb734 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class and b/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class b/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class index 6305eb3..7668d4d 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class and b/appletFirma/target/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class differ diff --git a/appletFirma/target/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class b/appletFirma/target/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class index 24fb2c7..26b575d 100644 Binary files a/appletFirma/target/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class and b/appletFirma/target/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class differ diff --git a/appletFirma/target/maven-archiver/pom.properties b/appletFirma/target/maven-archiver/pom.properties index 05a72af..0ae2d3e 100644 --- a/appletFirma/target/maven-archiver/pom.properties +++ b/appletFirma/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Wed Sep 07 09:13:14 ECT 2022 +#Tue Jan 17 16:56:13 ECT 2023 version=2.1 groupId=com.fp.firma artifactId=appletFirma diff --git a/appletFirma/target/surefire-reports/TEST-com.fp.firma.applet.AppTest.xml b/appletFirma/target/surefire-reports/TEST-com.fp.firma.applet.AppTest.xml index 153c900..a9933f5 100644 --- a/appletFirma/target/surefire-reports/TEST-com.fp.firma.applet.AppTest.xml +++ b/appletFirma/target/surefire-reports/TEST-com.fp.firma.applet.AppTest.xml @@ -1,5 +1,5 @@ - + @@ -31,7 +31,7 @@ - + @@ -60,5 +60,5 @@ - + \ No newline at end of file diff --git a/base/bpm/bpmlib/target/bpmlib-2.1.jar b/base/bpm/bpmlib/target/bpmlib-2.1.jar index 84e18d0..8b9f354 100644 Binary files a/base/bpm/bpmlib/target/bpmlib-2.1.jar and b/base/bpm/bpmlib/target/bpmlib-2.1.jar differ diff --git a/base/bpm/bpmlib/target/classes/.netbeans_automatic_build b/base/bpm/bpmlib/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/bpm/bpmlib/target/maven-archiver/pom.properties b/base/bpm/bpmlib/target/maven-archiver/pom.properties index 30a7abb..93b8b49 100644 --- a/base/bpm/bpmlib/target/maven-archiver/pom.properties +++ b/base/bpm/bpmlib/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:40 ECT 2022 +#Wed Jan 18 15:25:40 ECT 2023 version=2.1 groupId=com.fp.base.bpm artifactId=bpmlib diff --git a/base/bpm/bpmlib/target/test-classes/.netbeans_automatic_build b/base/bpm/bpmlib/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/bpm/simple/target/maven-archiver/pom.properties b/base/bpm/simple/target/maven-archiver/pom.properties index 280fe41..13d0abf 100644 --- a/base/bpm/simple/target/maven-archiver/pom.properties +++ b/base/bpm/simple/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:34 ECT 2022 +#Wed Jan 18 15:25:35 ECT 2023 version=2.1 groupId=com.fp.base.bpm artifactId=simple diff --git a/base/bpm/simple/target/simple-2.1.jar b/base/bpm/simple/target/simple-2.1.jar index add980d..c55f45e 100644 Binary files a/base/bpm/simple/target/simple-2.1.jar and b/base/bpm/simple/target/simple-2.1.jar differ diff --git a/base/business/armas/target/armas-2.1.jar b/base/business/armas/target/armas-2.1.jar index 14b3b9d..853daf6 100644 Binary files a/base/business/armas/target/armas-2.1.jar and b/base/business/armas/target/armas-2.1.jar differ diff --git a/base/business/armas/target/classes/.netbeans_automatic_build b/base/business/armas/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/business/armas/target/maven-archiver/pom.properties b/base/business/armas/target/maven-archiver/pom.properties index af6cde0..5d1e272 100644 --- a/base/business/armas/target/maven-archiver/pom.properties +++ b/base/business/armas/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:39:01 ECT 2022 +#Wed Jan 18 15:26:00 ECT 2023 version=2.1 groupId=com.fp.base.business artifactId=armas diff --git a/base/business/armas/target/test-classes/.netbeans_automatic_build b/base/business/armas/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/business/general/target/classes/.netbeans_automatic_build b/base/business/general/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/business/general/target/general-2.1.jar b/base/business/general/target/general-2.1.jar index 9ca4b60..227b8fe 100644 Binary files a/base/business/general/target/general-2.1.jar and b/base/business/general/target/general-2.1.jar differ diff --git a/base/business/general/target/maven-archiver/pom.properties b/base/business/general/target/maven-archiver/pom.properties index aed91ed..4ce6b52 100644 --- a/base/business/general/target/maven-archiver/pom.properties +++ b/base/business/general/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:54 ECT 2022 +#Wed Jan 18 15:25:54 ECT 2023 version=2.1 groupId=com.fp.base.business artifactId=general diff --git a/base/business/general/target/test-classes/.netbeans_automatic_build b/base/business/general/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/business/log/target/log-2.1.jar b/base/business/log/target/log-2.1.jar index f7a6736..deb0d30 100644 Binary files a/base/business/log/target/log-2.1.jar and b/base/business/log/target/log-2.1.jar differ diff --git a/base/business/log/target/maven-archiver/pom.properties b/base/business/log/target/maven-archiver/pom.properties index 827fb01..73dc19a 100644 --- a/base/business/log/target/maven-archiver/pom.properties +++ b/base/business/log/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:56 ECT 2022 +#Wed Jan 18 15:25:56 ECT 2023 version=2.1 groupId=com.fp.base.business artifactId=log diff --git a/base/business/person/target/maven-archiver/pom.properties b/base/business/person/target/maven-archiver/pom.properties index 1515486..14a81fb 100644 --- a/base/business/person/target/maven-archiver/pom.properties +++ b/base/business/person/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:51 ECT 2022 +#Wed Jan 18 15:25:51 ECT 2023 version=2.1 groupId=com.fp.base.business artifactId=person diff --git a/base/business/person/target/person-2.1.jar b/base/business/person/target/person-2.1.jar index 133f264..b62833c 100644 Binary files a/base/business/person/target/person-2.1.jar and b/base/business/person/target/person-2.1.jar differ diff --git a/base/business/report/target/maven-archiver/pom.properties b/base/business/report/target/maven-archiver/pom.properties index 463c1df..6b04268 100644 --- a/base/business/report/target/maven-archiver/pom.properties +++ b/base/business/report/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:55 ECT 2022 +#Wed Jan 18 15:25:55 ECT 2023 version=2.1 groupId=com.fp.base.business artifactId=report diff --git a/base/business/report/target/report-2.1.jar b/base/business/report/target/report-2.1.jar index cdce8eb..705dcc0 100644 Binary files a/base/business/report/target/report-2.1.jar and b/base/business/report/target/report-2.1.jar differ diff --git a/base/business/viaticos/target/maven-archiver/pom.properties b/base/business/viaticos/target/maven-archiver/pom.properties index 14d2d5d..3cbb6f4 100644 --- a/base/business/viaticos/target/maven-archiver/pom.properties +++ b/base/business/viaticos/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:57 ECT 2022 +#Wed Jan 18 15:25:57 ECT 2023 version=2.1 groupId=com.fp.base.business artifactId=viaticos diff --git a/base/business/viaticos/target/viaticos-2.1.jar b/base/business/viaticos/target/viaticos-2.1.jar index 53be0d2..5a4dc33 100644 Binary files a/base/business/viaticos/target/viaticos-2.1.jar and b/base/business/viaticos/target/viaticos-2.1.jar differ diff --git a/base/core/alfresco-client/target/alfresco-client-2.1.jar b/base/core/alfresco-client/target/alfresco-client-2.1.jar index e1747a8..d4dc362 100644 Binary files a/base/core/alfresco-client/target/alfresco-client-2.1.jar and b/base/core/alfresco-client/target/alfresco-client-2.1.jar differ diff --git a/base/core/alfresco-client/target/maven-archiver/pom.properties b/base/core/alfresco-client/target/maven-archiver/pom.properties index 6882d03..f4f824a 100644 --- a/base/core/alfresco-client/target/maven-archiver/pom.properties +++ b/base/core/alfresco-client/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:48 ECT 2022 +#Wed Jan 18 15:25:49 ECT 2023 version=2.1 groupId=com.fp.base.core artifactId=alfresco-client diff --git a/base/core/bpm/target/bpm-2.1.jar b/base/core/bpm/target/bpm-2.1.jar index 37bc9e9..686cf42 100644 Binary files a/base/core/bpm/target/bpm-2.1.jar and b/base/core/bpm/target/bpm-2.1.jar differ diff --git a/base/core/bpm/target/maven-archiver/pom.properties b/base/core/bpm/target/maven-archiver/pom.properties index bf439eb..4f1e897 100644 --- a/base/core/bpm/target/maven-archiver/pom.properties +++ b/base/core/bpm/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:36 ECT 2022 +#Wed Jan 18 15:25:36 ECT 2023 version=2.1 groupId=com.fp.base.core artifactId=bpm diff --git a/base/core/firmas/target/firmas-2.1.jar b/base/core/firmas/target/firmas-2.1.jar index e649b87..d507d52 100644 Binary files a/base/core/firmas/target/firmas-2.1.jar and b/base/core/firmas/target/firmas-2.1.jar differ diff --git a/base/core/firmas/target/maven-archiver/pom.properties b/base/core/firmas/target/maven-archiver/pom.properties index ba01995..97f0a52 100644 --- a/base/core/firmas/target/maven-archiver/pom.properties +++ b/base/core/firmas/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:47 ECT 2022 +#Wed Jan 18 15:25:47 ECT 2023 version=2.1 groupId=com.fp.base.core artifactId=firmas diff --git a/base/dto/common/target/common-2.1.jar b/base/dto/common/target/common-2.1.jar index 771fa49..94991c2 100644 Binary files a/base/dto/common/target/common-2.1.jar and b/base/dto/common/target/common-2.1.jar differ diff --git a/base/dto/common/target/maven-archiver/pom.properties b/base/dto/common/target/maven-archiver/pom.properties index 2dc1fa2..956a997 100644 --- a/base/dto/common/target/maven-archiver/pom.properties +++ b/base/dto/common/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:22 ECT 2022 +#Wed Jan 18 15:25:22 ECT 2023 version=2.1 groupId=com.fp.base.dto artifactId=common diff --git a/base/dto/dto/target/dto-2.1.jar b/base/dto/dto/target/dto-2.1.jar index b054f22..073db6d 100644 Binary files a/base/dto/dto/target/dto-2.1.jar and b/base/dto/dto/target/dto-2.1.jar differ diff --git a/base/dto/dto/target/maven-archiver/pom.properties b/base/dto/dto/target/maven-archiver/pom.properties index 9b9f85d..dbfae3f 100644 --- a/base/dto/dto/target/maven-archiver/pom.properties +++ b/base/dto/dto/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:20 ECT 2022 +#Wed Jan 18 15:25:20 ECT 2023 version=2.1 groupId=com.fp.base.dto artifactId=dto diff --git a/base/facade/target/classes/.netbeans_automatic_build b/base/facade/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/facade/target/facade-2.1.jar b/base/facade/target/facade-2.1.jar index aff2025..707cf72 100644 Binary files a/base/facade/target/facade-2.1.jar and b/base/facade/target/facade-2.1.jar differ diff --git a/base/facade/target/maven-archiver/pom.properties b/base/facade/target/maven-archiver/pom.properties index 2fd575f..d18fa28 100644 --- a/base/facade/target/maven-archiver/pom.properties +++ b/base/facade/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:39:03 ECT 2022 +#Wed Jan 18 15:26:02 ECT 2023 version=2.1 groupId=com.fp.base artifactId=facade diff --git a/base/facade/target/test-classes/.netbeans_automatic_build b/base/facade/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/facadeclient/target/classes/.netbeans_automatic_build b/base/facadeclient/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/facadeclient/target/classes/com/fp/facadeclient/helper/ServiceLocator.class b/base/facadeclient/target/classes/com/fp/facadeclient/helper/ServiceLocator.class index 1d7e1a1..c014df0 100644 Binary files a/base/facadeclient/target/classes/com/fp/facadeclient/helper/ServiceLocator.class and b/base/facadeclient/target/classes/com/fp/facadeclient/helper/ServiceLocator.class differ diff --git a/base/facadeclient/target/facadeclient-2.1.jar b/base/facadeclient/target/facadeclient-2.1.jar index 3fbeea8..7f499e6 100644 Binary files a/base/facadeclient/target/facadeclient-2.1.jar and b/base/facadeclient/target/facadeclient-2.1.jar differ diff --git a/base/facadeclient/target/maven-archiver/pom.properties b/base/facadeclient/target/maven-archiver/pom.properties index b6d9367..463dac1 100644 --- a/base/facadeclient/target/maven-archiver/pom.properties +++ b/base/facadeclient/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:39:02 ECT 2022 +#Wed Jan 18 15:26:01 ECT 2023 version=2.1 groupId=com.fp.base artifactId=facadeclient diff --git a/base/facadeclient/target/test-classes/.netbeans_automatic_build b/base/facadeclient/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/persistence/commondb/target/commondb-2.1.jar b/base/persistence/commondb/target/commondb-2.1.jar index 1ad15bc..252bc76 100644 Binary files a/base/persistence/commondb/target/commondb-2.1.jar and b/base/persistence/commondb/target/commondb-2.1.jar differ diff --git a/base/persistence/commondb/target/maven-archiver/pom.properties b/base/persistence/commondb/target/maven-archiver/pom.properties index 5d4b974..00cab9c 100644 --- a/base/persistence/commondb/target/maven-archiver/pom.properties +++ b/base/persistence/commondb/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:30 ECT 2022 +#Wed Jan 18 15:25:30 ECT 2023 version=2.1 groupId=com.fp.base.persistence artifactId=commondb diff --git a/base/persistence/parmas/target/classes/.netbeans_automatic_build b/base/persistence/parmas/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/persistence/parmas/target/maven-archiver/pom.properties b/base/persistence/parmas/target/maven-archiver/pom.properties index c99b60e..ad531fe 100644 --- a/base/persistence/parmas/target/maven-archiver/pom.properties +++ b/base/persistence/parmas/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:46 ECT 2022 +#Wed Jan 18 15:25:46 ECT 2023 version=2.1 groupId=com.fp.base.persistence artifactId=parmas diff --git a/base/persistence/parmas/target/parmas-2.1.jar b/base/persistence/parmas/target/parmas-2.1.jar index 10968b4..0ddcab0 100644 Binary files a/base/persistence/parmas/target/parmas-2.1.jar and b/base/persistence/parmas/target/parmas-2.1.jar differ diff --git a/base/persistence/parmas/target/test-classes/.netbeans_automatic_build b/base/persistence/parmas/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/persistence/pbpm/target/maven-archiver/pom.properties b/base/persistence/pbpm/target/maven-archiver/pom.properties index f7d0213..d53c98d 100644 --- a/base/persistence/pbpm/target/maven-archiver/pom.properties +++ b/base/persistence/pbpm/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:23 ECT 2022 +#Wed Jan 18 15:25:23 ECT 2023 version=2.1 groupId=com.fp.base.persistence artifactId=pbpm diff --git a/base/persistence/pbpm/target/pbpm-2.1.jar b/base/persistence/pbpm/target/pbpm-2.1.jar index 928ae68..f40ef35 100644 Binary files a/base/persistence/pbpm/target/pbpm-2.1.jar and b/base/persistence/pbpm/target/pbpm-2.1.jar differ diff --git a/base/persistence/pcustomer/target/maven-archiver/pom.properties b/base/persistence/pcustomer/target/maven-archiver/pom.properties index 0fb69e9..241ba23 100644 --- a/base/persistence/pcustomer/target/maven-archiver/pom.properties +++ b/base/persistence/pcustomer/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:32 ECT 2022 +#Wed Jan 18 15:25:33 ECT 2023 version=2.1 groupId=com.fp.base.persistence artifactId=pcustomer diff --git a/base/persistence/pcustomer/target/pcustomer-2.1.jar b/base/persistence/pcustomer/target/pcustomer-2.1.jar index 1609c50..f0726e4 100644 Binary files a/base/persistence/pcustomer/target/pcustomer-2.1.jar and b/base/persistence/pcustomer/target/pcustomer-2.1.jar differ diff --git a/base/persistence/pfirmas/target/maven-archiver/pom.properties b/base/persistence/pfirmas/target/maven-archiver/pom.properties index fb87360..6ab3e90 100644 --- a/base/persistence/pfirmas/target/maven-archiver/pom.properties +++ b/base/persistence/pfirmas/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:43 ECT 2022 +#Wed Jan 18 15:25:43 ECT 2023 version=2.1 groupId=com.fp.base.persistence artifactId=pfirmas diff --git a/base/persistence/pfirmas/target/pfirmas-2.1.jar b/base/persistence/pfirmas/target/pfirmas-2.1.jar index 360cd0f..2565a12 100644 Binary files a/base/persistence/pfirmas/target/pfirmas-2.1.jar and b/base/persistence/pfirmas/target/pfirmas-2.1.jar differ diff --git a/base/persistence/pgeneral/target/classes/.netbeans_automatic_build b/base/persistence/pgeneral/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/persistence/pgeneral/target/maven-archiver/pom.properties b/base/persistence/pgeneral/target/maven-archiver/pom.properties index 6c9a0cd..6ec2280 100644 --- a/base/persistence/pgeneral/target/maven-archiver/pom.properties +++ b/base/persistence/pgeneral/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:28 ECT 2022 +#Wed Jan 18 15:25:28 ECT 2023 version=2.1 groupId=com.fp.base.persistence artifactId=pgeneral diff --git a/base/persistence/pgeneral/target/pgeneral-2.1.jar b/base/persistence/pgeneral/target/pgeneral-2.1.jar index 08cb68d..016eefc 100644 Binary files a/base/persistence/pgeneral/target/pgeneral-2.1.jar and b/base/persistence/pgeneral/target/pgeneral-2.1.jar differ diff --git a/base/persistence/pgeneral/target/test-classes/.netbeans_automatic_build b/base/persistence/pgeneral/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/base/persistence/plog/target/maven-archiver/pom.properties b/base/persistence/plog/target/maven-archiver/pom.properties index 0da4dcd..1f02fd8 100644 --- a/base/persistence/plog/target/maven-archiver/pom.properties +++ b/base/persistence/plog/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:41 ECT 2022 +#Wed Jan 18 15:25:41 ECT 2023 version=2.1 groupId=com.fp.base.persistence artifactId=plog diff --git a/base/persistence/plog/target/plog-2.1.jar b/base/persistence/plog/target/plog-2.1.jar index feab4ec..93e98bc 100644 Binary files a/base/persistence/plog/target/plog-2.1.jar and b/base/persistence/plog/target/plog-2.1.jar differ diff --git a/base/persistence/pviaticos/target/maven-archiver/pom.properties b/base/persistence/pviaticos/target/maven-archiver/pom.properties index d039c7c..8fcdaf5 100644 --- a/base/persistence/pviaticos/target/maven-archiver/pom.properties +++ b/base/persistence/pviaticos/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:42 ECT 2022 +#Wed Jan 18 15:25:43 ECT 2023 version=2.1 groupId=com.fp.base.persistence artifactId=pviaticos diff --git a/base/persistence/pviaticos/target/pviaticos-2.1.jar b/base/persistence/pviaticos/target/pviaticos-2.1.jar index fc5e9f7..28cd908 100644 Binary files a/base/persistence/pviaticos/target/pviaticos-2.1.jar and b/base/persistence/pviaticos/target/pviaticos-2.1.jar differ diff --git a/base/persistence/util/target/maven-archiver/pom.properties b/base/persistence/util/target/maven-archiver/pom.properties index 8fbf647..a96b584 100644 --- a/base/persistence/util/target/maven-archiver/pom.properties +++ b/base/persistence/util/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:33 ECT 2022 +#Wed Jan 18 15:25:34 ECT 2023 version=2.1 groupId=com.fp.base.persistence artifactId=util diff --git a/base/persistence/util/target/util-2.1.jar b/base/persistence/util/target/util-2.1.jar index 817cf6e..104e704 100644 Binary files a/base/persistence/util/target/util-2.1.jar and b/base/persistence/util/target/util-2.1.jar differ diff --git a/base/sessionbeans/target/maven-archiver/pom.properties b/base/sessionbeans/target/maven-archiver/pom.properties index 6a5667b..c45f81d 100644 --- a/base/sessionbeans/target/maven-archiver/pom.properties +++ b/base/sessionbeans/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:38:49 ECT 2022 +#Wed Jan 18 15:25:50 ECT 2023 version=2.1 groupId=com.fp.base artifactId=sessionbeans diff --git a/base/sessionbeans/target/sessionbeans-2.1.jar b/base/sessionbeans/target/sessionbeans-2.1.jar index fc2f6ab..44177f0 100644 Binary files a/base/sessionbeans/target/sessionbeans-2.1.jar and b/base/sessionbeans/target/sessionbeans-2.1.jar differ diff --git a/clients/comaco/ear/target/classes/.netbeans_automatic_build b/clients/comaco/ear/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/clients/comaco/ear/target/maiaear-2.1.ear b/clients/comaco/ear/target/maiaear-2.1.ear index bb4d8a6..c42d801 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1.ear and b/clients/comaco/ear/target/maiaear-2.1.ear differ diff --git a/clients/comaco/ear/target/maiaear-2.1/armas-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/armas-2.1.jar index 14b3b9d..853daf6 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/armas-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/armas-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/bpm-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/bpm-2.1.jar index 37bc9e9..686cf42 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/bpm-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/bpm-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/bpmlib.jar b/clients/comaco/ear/target/maiaear-2.1/bpmlib.jar index 84e18d0..8b9f354 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/bpmlib.jar and b/clients/comaco/ear/target/maiaear-2.1/bpmlib.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/common-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/common-2.1.jar index 771fa49..94991c2 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/common-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/common-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/commondb-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/commondb-2.1.jar index 1ad15bc..252bc76 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/commondb-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/commondb-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/dto-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/dto-2.1.jar index b054f22..073db6d 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/dto-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/dto-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/environment-eap6-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/environment-eap6-2.1.jar index e3d5f7e..ed5ff70 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/environment-eap6-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/environment-eap6-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/facade.jar b/clients/comaco/ear/target/maiaear-2.1/facade.jar index aff2025..707cf72 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/facade.jar and b/clients/comaco/ear/target/maiaear-2.1/facade.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/facadeclient.jar b/clients/comaco/ear/target/maiaear-2.1/facadeclient.jar index 3fbeea8..7f499e6 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/facadeclient.jar and b/clients/comaco/ear/target/maiaear-2.1/facadeclient.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/firmas-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/firmas-2.1.jar index e649b87..d507d52 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/firmas-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/firmas-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/general-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/general-2.1.jar index 9ca4b60..227b8fe 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/general-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/general-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/log-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/log-2.1.jar index f7a6736..deb0d30 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/log-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/log-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/parmas-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/parmas-2.1.jar index 10968b4..0ddcab0 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/parmas-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/parmas-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/pbpm-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/pbpm-2.1.jar index 928ae68..f40ef35 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/pbpm-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/pbpm-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/pcustomer-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/pcustomer-2.1.jar index 1609c50..f0726e4 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/pcustomer-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/pcustomer-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/person-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/person-2.1.jar index 133f264..b62833c 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/person-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/person-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/pfirmas-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/pfirmas-2.1.jar index 360cd0f..2565a12 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/pfirmas-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/pfirmas-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/pgeneral-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/pgeneral-2.1.jar index 08cb68d..016eefc 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/pgeneral-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/pgeneral-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/plog-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/plog-2.1.jar index feab4ec..93e98bc 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/plog-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/plog-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/report-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/report-2.1.jar index cdce8eb..705dcc0 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/report-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/report-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/sessionbeans.jar b/clients/comaco/ear/target/maiaear-2.1/sessionbeans.jar index fc2f6ab..44177f0 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/sessionbeans.jar and b/clients/comaco/ear/target/maiaear-2.1/sessionbeans.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/simple-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/simple-2.1.jar index add980d..c55f45e 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/simple-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/simple-2.1.jar differ diff --git a/clients/comaco/ear/target/maiaear-2.1/util-2.1.jar b/clients/comaco/ear/target/maiaear-2.1/util-2.1.jar index 817cf6e..104e704 100644 Binary files a/clients/comaco/ear/target/maiaear-2.1/util-2.1.jar and b/clients/comaco/ear/target/maiaear-2.1/util-2.1.jar differ diff --git a/clients/comaco/ear/target/maven-archiver/pom.properties b/clients/comaco/ear/target/maven-archiver/pom.properties index 7fde3a1..b3a9214 100644 --- a/clients/comaco/ear/target/maven-archiver/pom.properties +++ b/clients/comaco/ear/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:39:04 ECT 2022 +#Wed Jan 18 15:26:03 ECT 2023 version=2.1 groupId=com.fp.clients.maia artifactId=maiaear diff --git a/clients/comaco/ear/target/test-classes/.netbeans_automatic_build b/clients/comaco/ear/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/clients/comaco/ear/target/test-classes/com/fp/clients/maia/AppTest.class b/clients/comaco/ear/target/test-classes/com/fp/clients/maia/AppTest.class deleted file mode 100644 index a8133d4..0000000 Binary files a/clients/comaco/ear/target/test-classes/com/fp/clients/maia/AppTest.class and /dev/null differ diff --git a/clients/comaco/environment-eap6/target/classes/.netbeans_automatic_build b/clients/comaco/environment-eap6/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/clients/comaco/environment-eap6/target/environment-eap6-2.1.jar b/clients/comaco/environment-eap6/target/environment-eap6-2.1.jar index e3d5f7e..ed5ff70 100644 Binary files a/clients/comaco/environment-eap6/target/environment-eap6-2.1.jar and b/clients/comaco/environment-eap6/target/environment-eap6-2.1.jar differ diff --git a/clients/comaco/environment-eap6/target/maven-archiver/pom.properties b/clients/comaco/environment-eap6/target/maven-archiver/pom.properties index f89b8fc..ccfd957 100644 --- a/clients/comaco/environment-eap6/target/maven-archiver/pom.properties +++ b/clients/comaco/environment-eap6/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:39:03 ECT 2022 +#Wed Jan 18 15:26:02 ECT 2023 version=2.1 groupId=com.fp.clients.maia artifactId=environment-eap6 diff --git a/clients/comaco/environment-eap6/target/test-classes/.netbeans_automatic_build b/clients/comaco/environment-eap6/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/nb-configuration.xml b/frontend/nb-configuration.xml index d21e5dd..e22d5ff 100644 --- a/frontend/nb-configuration.xml +++ b/frontend/nb-configuration.xml @@ -14,7 +14,7 @@ That way multiple projects can share the same settings (useful for formatting ru Any value defined here will override the pom.xml file value but is only applicable to the current project. --> ide - JDK_1.7 + JDK_1.8 JSP diff --git a/frontend/src/main/java/com/fp/firma/common/CertificateUtils.java b/frontend/src/main/java/com/fp/firma/common/CertificateUtils.java new file mode 100644 index 0000000..886c63f --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/common/CertificateUtils.java @@ -0,0 +1,584 @@ +package com.fp.firma.common; + +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.security.GeneralSecurityException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.PrivateKey; +import java.security.Security; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Enumeration; +import java.util.List; + +import org.bouncycastle.jce.provider.BouncyCastleProvider; + +//import com.fp.firma.dto.TfirmDatosFirmante; +import com.fp.firma.keystore.KeyStoreProvider; +import com.fp.firma.keystore.LinuxKeyStoreProvider; +import com.fp.firma.keystore.WindowsJDK6KeyStoreProvider; +import com.itextpdf.text.DocumentException; +import com.itextpdf.text.Font; +import com.itextpdf.text.Rectangle; +import com.itextpdf.text.pdf.AcroFields; +import com.itextpdf.text.pdf.PdfReader; +import com.itextpdf.text.pdf.PdfSignatureAppearance; +import com.itextpdf.text.pdf.PdfStamper; +import com.itextpdf.text.pdf.security.BouncyCastleDigest; +import com.itextpdf.text.pdf.security.CertificateInfo; +import com.itextpdf.text.pdf.security.CertificateInfo.X500Name; +import com.itextpdf.text.pdf.security.DigestAlgorithms; +import com.itextpdf.text.pdf.security.ExternalDigest; +import com.itextpdf.text.pdf.security.ExternalSignature; +import com.itextpdf.text.pdf.security.MakeSignature; +import com.itextpdf.text.pdf.security.MakeSignature.CryptoStandard; +import com.itextpdf.text.pdf.security.OcspClient; +import com.itextpdf.text.pdf.security.OcspClientBouncyCastle; +import com.itextpdf.text.pdf.security.PrivateKeySignature; +import com.itextpdf.text.pdf.security.TSAClient; +//import javax.persistence.NoResultException; +//import javax.persistence.Query; + +/** + * Clase que contiene métodos utilitarios para manejar certificados + * + * @author dcruz + * + */ +public class CertificateUtils { + + /* + * CONSTANTES DESIGNADAS SEGUN LA NUEVA ESTRUCTURA DEL BCE + */ + // OIDs de Campos del Certificado: + public static final String OID_CEDULA_PASAPORTE = FirmMessages.getString("oid.cedula_pasaporte"); + + public static final String OID_NOMBRES = FirmMessages.getString("oid.nombres_persona"); + + public static final String OID_APELLIDO_1 = FirmMessages.getString("oid.apellido_persona1"); + + public static final String OID_APELLIDO_2 = FirmMessages.getString("oid.apellido_persona2"); + + public static final String OID_CARGO = FirmMessages.getString("oid.cargo"); + + public static final String OID_INSTITUCION = FirmMessages.getString("oid.institucion"); + + public static final String OID_DIRECCION = FirmMessages.getString("oid.direccion"); + + public static final String OID_TELEFONO = FirmMessages.getString("oid.telefono"); + + public static final String OID_CIUDAD = FirmMessages.getString("oid.ciudad"); + + public static final String OID_RAZON_SOCIAL = FirmMessages.getString("oid.razon_social"); + + public static final String OID_RUC = FirmMessages.getString("oid.ruc"); + + public static final String X509 = "X.509"; + + static { + BouncyCastleProvider provider = new BouncyCastleProvider(); + Security.addProvider(provider); + } + + /** + * Retorna el certificado del usuario contenido en la firma + * + * @param store el store en el que se va a buscar los certificados + * @param aliases los alias que estan dentro del keystore + * @return el {@link java.security.Certificate} + * @throws KeyStoreException + */ + public synchronized static Certificate obtainCertificateInAlias(KeyStore store, Enumeration aliases) throws KeyStoreException { + Certificate certs[] = null; + synchronized (aliases) { + int i = 0; + while (aliases.hasMoreElements()) { + String alias = aliases.nextElement(); + System.out.println("Se imprime los alias: " + i + " " + alias); + certs = store.getCertificateChain(alias); + for (int j = 0; j < certs.length; j++) { + X509Certificate certificate = (X509Certificate) certs[j]; + boolean[] usages = certificate.getKeyUsage(); + System.out.println("Certificado en primera posicion usado: " + j + " " + usages[0]); + if (usages[0]) { + return certificate; + } + } + i++; + } + + } + return null; + } + + /** + * Se devuelve todos los datos de la firma del usuario en base al certificado enviado + * + * @param certificate el certificado enviado + * @return Los datos del certificado de dicho usuario + */ + public static TfirmDatosFirmante obtainDataForCertificate(Certificate certificate) { + X509Certificate signedCertificate = (X509Certificate) certificate; + TfirmDatosFirmante datosFirmante = new TfirmDatosFirmante(); + if (signedCertificate.getExtensionValue(OID_CEDULA_PASAPORTE) != null) { + datosFirmante.setIdentificacion(new String(signedCertificate.getExtensionValue(OID_CEDULA_PASAPORTE)).trim()); + } + if (signedCertificate.getExtensionValue(OID_NOMBRES) != null) { + datosFirmante.setNombre(new String(signedCertificate.getExtensionValue(OID_NOMBRES)).trim()); + } + if (signedCertificate.getExtensionValue(OID_APELLIDO_1) != null) { + datosFirmante.setApellido1(new String(signedCertificate.getExtensionValue(OID_APELLIDO_1)).trim()); + if (signedCertificate.getExtensionValue(OID_APELLIDO_2) != null) { + datosFirmante.setApellido2(new String(signedCertificate.getExtensionValue(OID_APELLIDO_2)).trim()); + } else { + datosFirmante.setApellido2(""); + } + } + if (signedCertificate.getExtensionValue(OID_TELEFONO) != null) { + datosFirmante.setTelefono(new String(signedCertificate.getExtensionValue(OID_TELEFONO)).trim()); + } + if (signedCertificate.getExtensionValue(OID_CARGO) != null) { + datosFirmante.setCargo(new String(signedCertificate.getExtensionValue(OID_CARGO)).trim()); + } + if (signedCertificate.getExtensionValue(OID_CIUDAD) != null) { + datosFirmante.setCiudad(new String(signedCertificate.getExtensionValue(OID_CIUDAD)).trim()); + } + if (signedCertificate.getExtensionValue(OID_DIRECCION) != null) { + datosFirmante.setDireccion(new String(signedCertificate.getExtensionValue(OID_DIRECCION)).trim()); + } + if (signedCertificate.getExtensionValue(OID_INSTITUCION) != null) { + datosFirmante.setInstitucion(new String(signedCertificate.getExtensionValue(OID_INSTITUCION)).trim()); + } + if (signedCertificate.getExtensionValue(OID_RAZON_SOCIAL) != null) { + datosFirmante.setInstitucion(new String(signedCertificate.getExtensionValue(OID_RAZON_SOCIAL)).trim()); + } + if (signedCertificate.getExtensionValue(OID_RUC) != null) { + datosFirmante.setRuc(new String(signedCertificate.getExtensionValue(OID_RUC)).trim()); + } + datosFirmante.setFechaInicioVigencia(signedCertificate.getNotBefore()); + datosFirmante.setFechaVigencia(signedCertificate.getNotAfter()); + return datosFirmante; + } + + /** + * Valida que el certificado del usuario sea un certificado valido contra el servicio OCSP del proveedor + * + * @param certificateUser + * @throws FileNotFoundException + * @throws CertificateException + */ + public static void validateOcsCertificate(Certificate certificateUser) throws FileNotFoundException, CertificateException { + System.out.println(((X509Certificate) certificateUser).getIssuerDN().getName()); + CertificateFactory cf = CertificateFactory.getInstance(X509); + InputStream subordStream = new FileInputStream(FirmMessages.getString("dir.ruta.base.repositorio") + "/" + + FirmMessages.getString("nombre.certificado.subordinado")); + X509Certificate subordCertificate = (X509Certificate) cf.generateCertificate(subordStream); + check((X509Certificate) certificateUser, subordCertificate); + } + + /** + * Valida que los certificados enviados sean validos por la entidad certificadora + * + * @param issuerCert certificado del usuario + * @param x509Cert certificado que firmo el certificado expedido + */ + public static void check(X509Certificate issuerCert, X509Certificate x509Cert) { +// try { +// +// BigInteger serialNumber = issuerCert.getSerialNumber(); +// X509CertificateHolder holder; +// +// try { +// holder = new X509CertificateHolder(x509Cert.getEncoded()); +// } catch (IOException e) { +// throw new RuntimeException(e); +// } +// +// CertificateID id = new CertificateID(new JcaDigestCalculatorProviderBuilder().setProvider(BouncyCastleProvider.PROVIDER_NAME).build() +// .get(CertificateID.HASH_SHA1), holder, serialNumber); +// +// OCSPReqBuilder ocspGen = new OCSPReqBuilder(); +// ocspGen.addRequest(id); +// OCSPReq ocspReq = ocspGen.build(); +// +// // Ir al OCSP +// String ocspUrl = CertificateUtil.getOCSPURL(issuerCert); +// +// if (ocspUrl == null) { +// System.out.println("URL de OCSP is null"); +// return; +// } +// +// URL url; +// +// try { +// url = new URL(ocspUrl); +// } catch (MalformedURLException e) { +// throw new RuntimeException(e); +// } +// +// HttpURLConnection con; +// OCSPResp ocspResponse; +// DataOutputStream dataOut = null; +// try { +// con = (HttpURLConnection) url.openConnection(); +// +// con.setRequestProperty("Content-Type", "application/ocsp-request"); +// con.setRequestProperty("Accept", "application/ocsp-response"); +// con.setDoOutput(true); +// +// OutputStream out = con.getOutputStream(); +// dataOut = new DataOutputStream(new BufferedOutputStream(out)); +// dataOut.write(ocspReq.getEncoded()); +// +// System.out.println("Estado de respuesta de la peticion=" + con.getResponseCode()); +// +// /* +// * Se parsea la respuesta y se obtiene el estado del certificado retornado por el OCSP +// */ +// InputStream in = (InputStream) con.getContent(); +// byte[] resp = read(in); // Read the reponse +// ocspResponse = new OCSPResp(resp); +// } catch (IOException e) { +// throw new FirmasException("ERROR AL ESTABLECER CONEXI\u00d3N AL SERVICIO: "+url); +// } finally{ +// if(dataOut != null){ +// try { +// dataOut.flush(); +// dataOut.close(); +// } catch (IOException e) {} +// } +// } +// +// int status = ocspResponse.getStatus(); +// System.out.println("status=" + status); +// +// BasicOCSPResp basicResponse = (BasicOCSPResp) ocspResponse.getResponseObject(); +// +// if (basicResponse != null) { +// SingleResp[] responses = basicResponse.getResponses(); +// SingleResp response = responses[0]; +// CertificateStatus certStatus = (CertificateStatus) response.getCertStatus(); +// +// if (certStatus instanceof RevokedStatus) { +// System.out.println("REVOKED"); +// RevokedStatus revokedStatus = (RevokedStatus) certStatus; +// System.out.println("Reason: " + revokedStatus.getRevocationReason()); +// System.out.println("Date: " + revokedStatus.getRevocationTime()); +// +// throw new FirmasException("ERROR, CERTIFICADO REVOCADO POR "+revokedStatus.getRevocationReason()+" CON FECHA "+ revokedStatus.getRevocationTime()); +// } +// } +// } catch (OCSPException e) { +// throw new RuntimeException(e); +// } catch (CertificateEncodingException e) { +// throw new RuntimeException(e); +// } + } + + /** + * Devuelve los nombres de firmas de un documento PDF + * + * @param docStream el documento a verificar + * @return un lista de nombres de firmas + */ + public static List obtainNameSigns(InputStream docStream) { + try { + PdfReader docPdf = new PdfReader(docStream); + AcroFields af = docPdf.getAcroFields(); + return af.getSignatureNames(); + } catch (IOException e) { + System.err.println("Error al obtener los nombres del documentoss"); + return null; + } finally{ + + } + } + +/** + * Método para firmar documentos + * @param fileSrc + * @param usuario + * @param password + * @param compania + * @param reason + * @param location + * @param rectangle + * @param numPage + * @param nameSign + * @return + * @throws Exception + */ + public static byte[] sign(InputStream fileSrc, String usuario, String password, Integer compania, String reason, String location, + Rectangle rectangle, int numPage, String nameSign, String pathCertificate) throws Exception { + String path = pathCertificate; + FileInputStream ceritificateInputStream = new FileInputStream(path); + return sign(fileSrc, ceritificateInputStream, password, reason, location, false, true, rectangle, numPage, nameSign, null); + } + + /** + * Metodo para firmar documentos + * @param fileSrc + * @param usuario + * @param password + * @param compania + * @param reason + * @param location + * @param rectangle + * @param numPage + * @param nameSign + * @return + * @throws Exception + */ + public static byte[] sign(InputStream fileSrc, String usuario, String password, Integer compania, String reason, String location, + Rectangle rectangle, int numPage, String nameSign) throws Exception { + String path = ""; + FileInputStream ceritificateInputStream = new FileInputStream(path); + return sign(fileSrc, ceritificateInputStream, password, reason, location, false, true, rectangle, numPage, nameSign, null); + } + + /** + * Método que firma un documento en base los parámetros indicados + * + * @param fileSrc archivo origen + * @param fileCert archivo firma en formato digital si no es null el firmado es con archivo caso contrario es token + * @param password contrasena + * @param reason razón o motivo de la firma. + * @param location localización coemtario adicional de la firma. + * @param withTS tiene TS estamapado de tiempo. + * @param withOCSP tiene OCSP verificacion de la firma por el la entidad certificadora BCE. + * @param rectangle lugar localizaci´n firma + * @param numPage número pagina + * @param nameSign nombre firma + * @param tipoFirma es el tipo de token que se usará(Token que tipo?) + * @return el documento firmado + */ + public static byte[] sign(InputStream fileSrc, InputStream fileCert, String password, String reason, String location, boolean withTS, + boolean withOCSP, Rectangle rectangle, int numPage, String nameSign, String tipoFirma) { + OutputStream outputStream = null; + System.out.println("Ingreso a firmar"); + try { + PdfReader pdfReader = new PdfReader(fileSrc); + outputStream = new ByteArrayOutputStream(512); + PdfStamper stamper = PdfStamper.createSignature(pdfReader, outputStream, '\0'); + PdfSignatureAppearance appearance = stamper.getSignatureAppearance(); + KeyStore store; + String alias; +// PrivateKey privateKey = null; + ExternalSignature signature = null; + if(fileCert != null){ + store = KeyStore.getInstance("PKCS12"); + store.load(fileCert, password.toCharArray()); + alias = store.aliases().nextElement(); + signature = new PrivateKeySignature((PrivateKey) store.getKey(alias, password.toCharArray()), DigestAlgorithms.SHA256, + "SunRsaSign"); + } else{//firma por token + KeyStoreProvider provider = getKeyStoreProvider(tipoFirma); + store = provider.getKeystore(password.toCharArray()); + alias = store.aliases().nextElement(); +// privateKey = (PrivateKey) store.getKey(alias, null); + signature = new PrivateKeySignature((PrivateKey) store.getKey(alias, null), DigestAlgorithms.SHA1, + null); + } +// appearance.setCrypto(privateKey, store.getCertificateChain(alias), null, null); + appearance.setLayer2Text(generateSignText(store.getCertificateChain(alias), reason, location)); + appearance.setLayer2Font(new Font(Font.FontFamily.UNDEFINED, 8F)); + appearance.setVisibleSignature(rectangle, numPage, nameSign); + TSAClient tsc = null; + if (withTS) { + + } + OcspClient ocsp = null; + if (withOCSP) { + ocsp = new OcspClientBouncyCastle(); + } +// stamper.close(); + ExternalDigest externalDigest = new BouncyCastleDigest(); + MakeSignature.signDetached(appearance, externalDigest, signature, store.getCertificateChain(alias), null, ocsp, tsc, 15000, + CryptoStandard.CADES); + return ((ByteArrayOutputStream) outputStream).toByteArray(); + } catch (IOException e) { + throw new RuntimeException(e); + } catch (DocumentException e) { + throw new RuntimeException(e); + } catch (KeyStoreException e) { + throw new RuntimeException(e); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } catch (CertificateException e) { + throw new RuntimeException(e); + } catch (GeneralSecurityException e) { + throw new RuntimeException(e); + } catch (FirmasException e) { + throw new RuntimeException(FirmMessages.getString("FIR-0006")); + } catch (Throwable e) { + throw new RuntimeException(e); + } finally{ + try { + if(fileCert != null){ + fileCert.close(); + } + } catch (IOException e) {} + try { + fileSrc.close(); + } catch (IOException e) {} + try { + if(outputStream != null){ + + outputStream.close(); + } + } catch (IOException e) {} + } + } + + /** + * Arma documento el texto a mostrar de la plantilla + * @param chains certificados + * @param reason razón + * @param location lugar + * @return una layout de la firma + */ + private static String generateSignText(Certificate[] chains, String reason, String location){ + StringBuffer textLayout = new StringBuffer("Firmado digitalmente por: "); + String name = null; + X500Name x500name = CertificateInfo.getSubjectFields((X509Certificate)chains[0]); + if (x500name != null) { + name = x500name.getField("CN"); + if (name == null) + name = x500name.getField("E"); + } + if(name == null){ + name = ""; + } + textLayout.append(name).append("\n"); + if(reason != null){ + textLayout.append("Raz\u00f3n: ").append(reason).append("\n"); + } + if(location != null){ + textLayout.append("Lugar: ").append(location).append("\n"); + } + SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); + textLayout.append("Fecha: ").append(format.format(new Date(System.currentTimeMillis()))); + return textLayout.toString(); + } + + /** + * Retorna el keystore del token especificado + * @param tipoToken + * @return + * @throws KeyStoreException + */ + private static KeyStoreProvider getKeyStoreProvider(String tipoToken) { + String osName = System.getProperty("os.name"); + KeyStoreProvider provider = null; + if(tipoToken == null){ + return provider; + } + if (osName.toUpperCase().indexOf("WINDOWS") == 0) { + provider = new WindowsJDK6KeyStoreProvider(); + if (tipoToken.equals("2")) { + provider = new WindowsJDK6KeyStoreProvider(); // trabaja con librerias sera para eToken + }else if (tipoToken.equals("1")) { + provider = new WindowsJDK6KeyStoreProvider(); // trabaja con librerias sera para iKey + }else if (tipoToken.equals("3")) { + provider = new WindowsJDK6KeyStoreProvider(); // trabaja con librerias sera para iKey + } + } else { + provider = new LinuxKeyStoreProvider(); + } + return provider; + } + + private static byte[] read(InputStream in) throws IOException { + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + int next = in.read(); + while (next > -1) { + bos.write(next); + next = in.read(); + } + bos.flush(); + return bos.toByteArray(); + } + + /** + * Entrega el path en el que se encuentra el certificado digital. + * + * @param cusuario Codigo de usuario. + * @param ccompania Codigo de compania. + * @return String + * @throws Exception + */ +// private static String getPath(String cusuario, Integer ccompania) throws Exception { +// TfirmCertificado tfirmcertificado = getTfirmCertificado(cusuario); +// TgeneParametersKey tgeneParametersKey = new TgeneParametersKey("PATH_CERTIFICADO_BCE", ccompania); +// TgeneParameters tgeneParameters = TgeneParameters.find(PersistenceHelper.getEntityManager(), tgeneParametersKey); +// String path = tgeneParameters.getTextvalue() + "/" + tfirmcertificado.getPk().getIdcertificado(); +// return path; +// } + + /** + * Sentencia que entrega la defincion vigente de un certificado digital para un usuario. + */ +// private static final String JPQL = "from TfirmCertificado where t.codigousuario = :cusuario"; + + /** + * Entrega defincion de certificados digitales vigente. + * + * @param cusuario Codigo de usuario. + * @return TfirmCertificado. + * @throws Exception + */ +// private static TfirmCertificado getTfirmCertificado(String cusuario) throws Exception { +// TfirmCertificado tfirmCertificado = null; +// Query qry = PersistenceHelper.getEntityManager().createQuery(JPQL); +// qry.setParameter("cusuario", cusuario); +// try { +// tfirmCertificado = (TfirmCertificado) qry.getSingleResult(); +// } catch (NoResultException e) { +// throw new FirmasException("FIR-0001", "PARAMETROS DEL CERTIFICADO DIGITAL NO DEFINIDO PARA EL USUARIO: {0}", cusuario); +// } +// return tfirmCertificado; +// } + + + /* + public static boolean validatePassword(InputStream fileSrc, String usuario, String password, Integer compania, String reason, String location, + Rectangle rectangle, int numPage, String nameSign) throws Exception { + String path = getPath(usuario, compania); + FileInputStream ceritificateInputStream = new FileInputStream(path); + return pass(fileSrc, ceritificateInputStream, password, reason, location, false, true, rectangle, numPage, nameSign); + } + + + private static boolean pass(InputStream fileSrc, InputStream fileCert, String password, String reason, String location, boolean withTS, + boolean withOCSP, Rectangle rectangle, int numPage, String nameSign) { + try { + PdfReader pdfReader = new PdfReader(fileSrc); + OutputStream outputStream = new ByteArrayOutputStream(512); + PdfStamper stamper = PdfStamper.createSignature(pdfReader, outputStream, '\0'); + PdfSignatureAppearance appearance = stamper.getSignatureAppearance(); + + KeyStore store = KeyStore.getInstance("PKCS12"); + store.load(fileCert, password.toCharArray()); + String alias = store.aliases().nextElement(); + ExternalSignature signature = new PrivateKeySignature((PrivateKey) store.getKey(alias, password.toCharArray()), DigestAlgorithms.SHA256, + "SunRsaSign"); + return true; + } catch (Exception e) { + return false; + } + } + */ + + +} diff --git a/frontend/src/main/java/com/fp/firma/common/FirmMessages.java b/frontend/src/main/java/com/fp/firma/common/FirmMessages.java new file mode 100644 index 0000000..c560464 --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/common/FirmMessages.java @@ -0,0 +1,19 @@ +package com.fp.firma.common; + +import java.util.ResourceBundle; + +public class FirmMessages { + + private final static String RESOURCE = "firmessages_es"; + + private final static ResourceBundle firmessages; + + static{ + firmessages = ResourceBundle.getBundle(RESOURCE); + } + + public static String getString(String key) { + return firmessages.getString(key); + } + +} diff --git a/frontend/src/main/java/com/fp/firma/common/FirmasException.java b/frontend/src/main/java/com/fp/firma/common/FirmasException.java new file mode 100644 index 0000000..d781306 --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/common/FirmasException.java @@ -0,0 +1,30 @@ +package com.fp.firma.common; + + +/** + * Clase que manejará todos los errores relacionados con la firma digital + * + * @author dcruz + * + */ +public class FirmasException extends RuntimeException { + + private static final long serialVersionUID = -599185902882644036L; + + public FirmasException(String message) { + super(message); + } + + public FirmasException(String message, Throwable cause) { + super(message, cause); + } + + public FirmasException(Throwable cause) { + super(cause); + } + + public FirmasException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + +} diff --git a/frontend/src/main/java/com/fp/firma/common/TfirmDatosFirmante.java b/frontend/src/main/java/com/fp/firma/common/TfirmDatosFirmante.java new file mode 100644 index 0000000..3c48312 --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/common/TfirmDatosFirmante.java @@ -0,0 +1,169 @@ +package com.fp.firma.common; + +import java.io.Serializable; +import java.util.Date; + +/** + * Clase que contiene los datos del usuario que es dueno de la firma y en la cual + * + * @author dcruz + * + */ +public class TfirmDatosFirmante implements + Serializable, Cloneable { + + private static final long serialVersionUID = 4232773513442100177L; + private String aliasCertificado; + private String identificacion; + private String nombre; + private String apellido1; + private String apellido2; + private String cargo; + private String institucion; + private String direccion; + private String telefono; + private String ciudad; + private String razonSocial; + private String ruc; + private Date fechaInicioVigencia; + private Date fechaVigencia; + + public TfirmDatosFirmante(){} + + public TfirmDatosFirmante(String identificacion, String nombre, + String apellido1, String apellido2, String cargo, + String institucion, String direccion, String telefono, + String ciudad, String razonSocial, String ruc) { + super(); + this.identificacion = identificacion; + this.nombre = nombre; + this.apellido1 = apellido1; + this.apellido2 = apellido2; + this.cargo = cargo; + this.institucion = institucion; + this.direccion = direccion; + this.telefono = telefono; + this.ciudad = ciudad; + this.razonSocial = razonSocial; + this.ruc = ruc; + } + + + + public String getIdentificacion() { + return identificacion; + } + + public void setIdentificacion(String identificacion) { + this.identificacion = identificacion; + } + + public String getNombre() { + return nombre; + } + + public void setNombre(String nombre) { + this.nombre = nombre; + } + + public String getApellido1() { + return apellido1; + } + + public void setApellido1(String apellido1) { + this.apellido1 = apellido1; + } + + public String getApellido2() { + return apellido2; + } + + public void setApellido2(String apellido2) { + this.apellido2 = apellido2; + } + + public String getCargo() { + return cargo; + } + + public void setCargo(String cargo) { + this.cargo = cargo; + } + + public String getInstitucion() { + return institucion; + } + + public void setInstitucion(String institucion) { + this.institucion = institucion; + } + + public String getDireccion() { + return direccion; + } + + public void setDireccion(String direccion) { + this.direccion = direccion; + } + + public String getTelefono() { + return telefono; + } + + public void setTelefono(String telefono) { + this.telefono = telefono; + } + + public String getCiudad() { + return ciudad; + } + + public void setCiudad(String ciudad) { + this.ciudad = ciudad; + } + + public String getRazonSocial() { + return razonSocial; + } + + public void setRazonSocial(String razonSocial) { + this.razonSocial = razonSocial; + } + + public String getRuc() { + return ruc; + } + + public void setRuc(String ruc) { + this.ruc = ruc; + } + + public Object cloneMe() throws CloneNotSupportedException { + return this.clone(); + } + + public Date getFechaVigencia() { + return fechaVigencia; + } + + public void setFechaVigencia(Date fechaVigencia) { + this.fechaVigencia = fechaVigencia; + } + + public Date getFechaInicioVigencia() { + return fechaInicioVigencia; + } + + public void setFechaInicioVigencia(Date fechaInicioVigencia) { + this.fechaInicioVigencia = fechaInicioVigencia; + } + + public String getAliasCertificado() { + return aliasCertificado; + } + + public void setAliasCertificado(String aliasCertificado) { + this.aliasCertificado = aliasCertificado; + } + +} diff --git a/frontend/src/main/java/com/fp/firma/keystore/AppleKeyStoreProvider.java b/frontend/src/main/java/com/fp/firma/keystore/AppleKeyStoreProvider.java new file mode 100644 index 0000000..ee50daa --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/AppleKeyStoreProvider.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2009 Libreria para Firma Digital development team. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + */ + +package com.fp.firma.keystore; + +import java.io.IOException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.cert.CertificateException; + +/** + * Implementacion de KeyStoreProvider para el + * sistema operativo Mac OS X. + * + */ +public class AppleKeyStoreProvider implements KeyStoreProvider { + + private static final String APPLE_PROVIDER_TYPE = "KeychainStore"; + private static final String APPLE_PROVIDER_NAME = "Apple"; + + @Override + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + KeyStore keyStore = KeyStore.getInstance(APPLE_PROVIDER_TYPE, APPLE_PROVIDER_NAME); + keyStore.load(null, null); + return keyStore; + } catch (NoSuchProviderException e) { + throw new KeyStoreException(e); + } catch (NoSuchAlgorithmException e) { + throw new KeyStoreException(e); + } catch (CertificateException e) { + throw new KeyStoreException(e); + } catch (IOException e) { + throw new KeyStoreException(e); + } + } +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/firma/keystore/FileKeyStoreProvider.java b/frontend/src/main/java/com/fp/firma/keystore/FileKeyStoreProvider.java new file mode 100644 index 0000000..7f87eec --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/FileKeyStoreProvider.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2009 Libreria para Firma Digital development team. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + */ + +package com.fp.firma.keystore; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; + +/** + * Implementación de KeyStoreProvider para leer de un archivo. + * + */ +public class FileKeyStoreProvider implements KeyStoreProvider { + + @Override + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + InputStream input = new FileInputStream(System.getProperty("user.home") + File.separator + ".keystore"); + + KeyStore keyStore = KeyStore.getInstance("jks"); + keyStore.load(input, password); + return keyStore; + } catch (FileNotFoundException e) { + throw new KeyStoreException(e); + } catch (NoSuchAlgorithmException e) { + throw new KeyStoreException(e); + } catch (CertificateException e) { + throw new KeyStoreException(e); + } catch (IOException e) { + throw new KeyStoreException(e); + } finally { + // TODO: Close InputStream + } + } +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/firma/keystore/KeyStoreProvider.java b/frontend/src/main/java/com/fp/firma/keystore/KeyStoreProvider.java new file mode 100644 index 0000000..b71f43e --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/KeyStoreProvider.java @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2009 Libreria para Firma Digital development team. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + */ + +package com.fp.firma.keystore; + +import java.security.KeyStore; +import java.security.KeyStoreException; + +/** + * Obtiene un KeyStore. + * + */ +public interface KeyStoreProvider { + + /** + * Obtiene un KeyStore protegido por un password. + * + * @param password + * @return + * @throws KeyStoreException + */ + KeyStore getKeystore(char[] password) throws KeyStoreException; +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/firma/keystore/KeyStoreProviderFactory.java b/frontend/src/main/java/com/fp/firma/keystore/KeyStoreProviderFactory.java new file mode 100644 index 0000000..032dce4 --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/KeyStoreProviderFactory.java @@ -0,0 +1,40 @@ +package com.fp.firma.keystore; + +import java.util.logging.Logger; + +/** + * Obtiene la implementacion correcta de KeyStoreProvider de acuerdo al sistema + * operativo. + */ +public class KeyStoreProviderFactory { + + private static final Logger log = Logger.getLogger(KeyStoreProviderFactory.class.getName()); + + /** + * Obtiene la implementacion correcta de KeyStoreProvider de acuerdo al + * sistema operativo. + * + * @return implementacion de KeyStoreProvider + */ + public static KeyStoreProvider createKeyStoreProvider() { + String osName = System.getProperty("os.name"); + String javaVersion = System.getProperty("java.version"); + + log.finer("Operating System:" + osName); + log.finer("Java Version:" + javaVersion); + + if (osName.toUpperCase().indexOf("WINDOWS") == 0) { + if (javaVersion.indexOf("1.6") == 0) { + return new WindowsJDK6KeyStoreProvider(); + } else { + return new WindowsJDK5KeyStoreProvider(); + } + } else if (osName.toUpperCase().indexOf("LINUX") == 0) { + return new LinuxKeyStoreProvider(); + } else if (osName.toUpperCase().indexOf("MAC") == 0) { + return new AppleKeyStoreProvider(); + } else { + throw new IllegalArgumentException("Sistema operativo no soportado!"); + } + } +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/firma/keystore/LinuxKeyStoreProvider.java b/frontend/src/main/java/com/fp/firma/keystore/LinuxKeyStoreProvider.java new file mode 100644 index 0000000..ed1155e --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/LinuxKeyStoreProvider.java @@ -0,0 +1,123 @@ +/* + * Copyright (C) 2009 Libreria para Firma Digital development team. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + */ + +package com.fp.firma.keystore; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.security.AuthProvider; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.Provider; +import java.security.Security; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.security.auth.login.LoginException; + +/** + * Implementacion de KeyStoreProvider para utilizar con librerias + * PKCS#11 del sistema operativo Linux. + * + * Utiza OpenCT para acceder a un Token USB. + * + * + */ +public class LinuxKeyStoreProvider implements KeyStoreProvider { + + //MAC: /usr/local/lib/libsfntpkcs11.dylib\nslot = 1 + private static final byte[] PKCS11_CONFIG = "name = SmartCard\nlibrary = /usr/local/SafeNet/lib/libsfntpkcs11.so\nslot = 1 \n showInfo = true".getBytes(); // /usr/local/SafeNet/lib/libsfntpkcs11.so\nslot = 1 + ///usr/local/lib/libsfntpkcs11.dylib + private static final String SUN_PKCS11_PROVIDER_CLASS = "sun.security.pkcs11.SunPKCS11"; + private AuthProvider aprov; + @Override + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + InputStream configStream = new ByteArrayInputStream(PKCS11_CONFIG); + + Provider sunPKCS11Provider = this.createSunPKCS11Provider(configStream); + Security.addProvider(sunPKCS11Provider); + +// Eestas lineas se añadieron para poder hacer un logout del keystore +// + + KeyStore.Builder ksBuilder = KeyStore.Builder.newInstance( + "PKCS11", + null, + new KeyStore.CallbackHandlerProtection( new SimpleCallbackHandler(null,password ) )); //cmdLineHdlr + + KeyStore ks = ksBuilder.getKeyStore(); +// + + aprov = (AuthProvider) Security.getProvider( sunPKCS11Provider.getName() ); + aprov.setCallbackHandler( new SimpleCallbackHandler(null,password ) ); //cmdLineHdlr + + try { + aprov.login(null, null); + } catch (LoginException ex) { + Logger.getLogger(LinuxKeyStoreProvider.class.getName()).log(Level.SEVERE, null, ex); + throw new LoginException( /*ex*/ ); + } + +// KeyStore keyStore = KeyStore.getInstance("PKCS11"); +// +// keyStore.load(null, password); //null + System.out.println("Dentro LinuxKeystore anntes de ks:" + ks); + // aprov.logout(); + return ks; //keyStore +// } catch (CertificateException e) { +// throw new KeyStoreException(e); +// } catch (NoSuchAlgorithmException e) { +// throw new KeyStoreException(e); +// } catch (IOException e) { +// throw new KeyStoreException(e); +// } + } catch (Exception e){ + System.out.println("Error en el keystore:" + e); + e.printStackTrace(); + throw new KeyStoreException(e); + } + } + /** + * logout + * Esta función permite limpiar de memoria el keystore. + * @throws javax.security.auth.login.LoginException + */ + public void logout() throws LoginException{ + + this.aprov.logout(); + } + /** + * Instancia la clase sun.security.pkcs11.SunPKCS11 + * dinamicamente, usando Java Reflection. + * + * @return una instancia de sun.security.pkcs11.SunPKCS11 + */ + @SuppressWarnings("unchecked") + private Provider createSunPKCS11Provider(InputStream configStream) throws KeyStoreException { + try { + Class sunPkcs11Class = Class.forName(SUN_PKCS11_PROVIDER_CLASS); + Constructor pkcs11Constr = sunPkcs11Class.getConstructor(InputStream.class); + Provider pkcs11Provider = (Provider) pkcs11Constr.newInstance(configStream); + + return pkcs11Provider; + } catch (ClassNotFoundException e) { + throw new KeyStoreException(e); + } catch (NoSuchMethodException e) { + throw new KeyStoreException(e); + } catch (InvocationTargetException e) { + throw new KeyStoreException(e); + } catch (IllegalAccessException e) { + throw new KeyStoreException(e); + } catch (InstantiationException e) { + throw new KeyStoreException(e); + } + } +} diff --git a/frontend/src/main/java/com/fp/firma/keystore/MockKeyStoreProvider.java b/frontend/src/main/java/com/fp/firma/keystore/MockKeyStoreProvider.java new file mode 100644 index 0000000..4781c35 --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/MockKeyStoreProvider.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2009 Libreria para Firma Digital development team. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + */ + +package com.fp.firma.keystore; + +import java.io.BufferedInputStream; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.security.KeyStore; +import java.security.KeyStoreException; + +/** + * Implementacion de KeyStoreProvider para pruebas. + * + */ +public class MockKeyStoreProvider implements KeyStoreProvider { + + private static final String KEYSTORE_FILE = "/home/ricardo/ricardostore"; + + // private static final String KEYSTORE_ALIAS = "firmadigital"; + // private static final char[] KEYSTORE_PASSWORD = "abc123".toCharArray(); + // private static final char[] KEY_PASSWORD = "ricardo".toCharArray(); + + @Override + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + KeyStore keyStore = KeyStore.getInstance("JKS"); + FileInputStream ksfis; + ksfis = new FileInputStream(KEYSTORE_FILE); + BufferedInputStream ksbufin = new BufferedInputStream(ksfis); + + keyStore.load(ksbufin, password); + // PrivateKey priv = (PrivateKey) keyStore.getKey(KEYSTORE_ALIAS, + // KEY_PASSWORD); + + return keyStore; + } catch (FileNotFoundException e) { + throw new KeyStoreException(e); + } catch (GeneralSecurityException e) { + throw new KeyStoreException(e); + } catch (IOException e) { + throw new KeyStoreException(e); + } + } +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/firma/keystore/PKCS11KeyStoreProvider.java b/frontend/src/main/java/com/fp/firma/keystore/PKCS11KeyStoreProvider.java new file mode 100644 index 0000000..6d17b14 --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/PKCS11KeyStoreProvider.java @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2009 Libreria para Firma Digital development team. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + */ + +package com.fp.firma.keystore; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.Provider; +import java.security.Security; +import java.security.cert.CertificateException; + + +/** + * Implementacion de KeyStoreProvider para utilizar con librerias + * PKCS#11 del sistema operativo. + * + * Utiza OpenCT para acceder a un Token USB. + * + * + */ +public abstract class PKCS11KeyStoreProvider implements KeyStoreProvider { + + /** + * Obtiene la configuración para el Provider, según el sistema operativo que se utilice. + * + * @return + */ + public abstract String getConfig(); + + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + InputStream configStream = new ByteArrayInputStream(getConfig().getBytes()); + + Provider sunPKCS11Provider = this.createSunPKCS11Provider(configStream); + Security.addProvider(sunPKCS11Provider); + + KeyStore keyStore = KeyStore.getInstance("PKCS11"); + keyStore.load(null, password); + + return keyStore; + } catch (CertificateException e) { + throw new KeyStoreException(e); + } catch (NoSuchAlgorithmException e) { + throw new KeyStoreException(e); + } catch (IOException e) { + throw new KeyStoreException(e); + } + } + + /** + * Instancia la clase sun.security.pkcs11.SunPKCS11 + * dinamicamente, usando Java Reflection. + * + * @return una instancia de sun.security.pkcs11.SunPKCS11 + */ + @SuppressWarnings("unchecked") + private Provider createSunPKCS11Provider(InputStream configStream) throws KeyStoreException { + try { + Class sunPkcs11Class = Class.forName("sun.security.pkcs11.SunPKCS11"); + Constructor pkcs11Constr = sunPkcs11Class.getConstructor(InputStream.class); + return (Provider) pkcs11Constr.newInstance(configStream); + } catch (ClassNotFoundException e) { + throw new KeyStoreException(e); + } catch (NoSuchMethodException e) { + throw new KeyStoreException(e); + } catch (InvocationTargetException e) { + throw new KeyStoreException(e); + } catch (IllegalAccessException e) { + throw new KeyStoreException(e); + } catch (InstantiationException e) { + throw new KeyStoreException(e); + } + } +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/firma/keystore/SimpleCallbackHandler.java b/frontend/src/main/java/com/fp/firma/keystore/SimpleCallbackHandler.java new file mode 100644 index 0000000..55ee16b --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/SimpleCallbackHandler.java @@ -0,0 +1,49 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package com.fp.firma.keystore; + +/** + * + * @author subinfo + */ +import javax.security.auth.callback.*; + +/** + * This simple callback handler presents the given user name and password. + * @version 1.0 2004-09-14 + * @author Cay Horstmann + */ +public class SimpleCallbackHandler implements CallbackHandler +{ + /** + * Constructs the callback handler. + * @param username the user name + * @param password a character array containing the password + */ + public SimpleCallbackHandler(String username, char[] password) + { + this.username = username; + this.password = password; + } + + public void handle(Callback[] callbacks) + { + for (Callback callback : callbacks) + { + if (callback instanceof NameCallback) + { + ((NameCallback) callback).setName(username); + } + else if (callback instanceof PasswordCallback) + { + ((PasswordCallback) callback).setPassword(password); + } + } + } + + private String username; + private char[] password; +} diff --git a/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.java b/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.java new file mode 100644 index 0000000..344e2a8 --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.java @@ -0,0 +1,129 @@ +/** Programa para La firma electrónica de archivos + * Desarrollado y Modificado por la Subsecretaría de Tecnologías de la Información + * de la Secretaría Nacional de la Administración Pública del Ecuador + * Firma Digital firmadigital.informatica.gob.ec + *------------------------------------------------------------------------------ + * This program is free software: you can redistribute it and/or +modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public +License + * along with this program. If not, see http://www.gnu.org/licenses. [^] + *------------------------------------------------------------------------------ + **/ +package com.fp.firma.keystore; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.security.AuthProvider; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.Provider; +import java.security.ProviderException; +import java.security.Security; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.management.ReflectionException; +import javax.security.auth.login.LoginException; + +/** + * maneja el keystore de windows, no el CAPI, accede a travez de librerias, en esta se usa librerias para eTokenPro + **/ +public class WindowsJDK5KeyStoreProvider implements KeyStoreProvider { + + + //private static final byte[] PKCS11_CONFIG = "name = SmartCard\nlibrary = C:\\WINDOWS\\SYSTEM32\\DKCK201.DLL \ndisabledMechanisms = { CKM_SHA1_RSA_PKCS }".getBytes(); + private static String windowsDir = "name = SmartCard\nlibrary = " + System.getenv("WINDIR") + "\\SYSTEM32\\eTPKCS11.DLL \ndisabledMechanisms = { CKM_SHA1_RSA_PKCS } \n showInfo = true"; //showInfo = true + private static final byte[] PKCS11_CONFIG = windowsDir.getBytes(); + private static final String SUN_PKCS11_PROVIDER_CLASS = "sun.security.pkcs11.SunPKCS11"; + private AuthProvider aprov; + + @Override + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + System.out.println("Tiene PKCS11: " + PKCS11_CONFIG); + InputStream configStream = new ByteArrayInputStream(PKCS11_CONFIG); + + Provider sunPKCS11Provider = this.createSunPKCS11Provider(configStream); + Security.addProvider(sunPKCS11Provider); + + KeyStore.Builder ksBuilder = KeyStore.Builder.newInstance( + "PKCS11", + null, + new KeyStore.CallbackHandlerProtection(new SimpleCallbackHandler(null, password))); //cmdLineHdlr + + KeyStore ks = ksBuilder.getKeyStore(); + + aprov = (AuthProvider) Security.getProvider(sunPKCS11Provider.getName()); + aprov.setCallbackHandler(new SimpleCallbackHandler(null, password)); //cmdLineHdlr + + aprov.login(null, null); +// + + return ks; //keyStore +// + + } catch (LoginException ex) { + Logger.getLogger(WindowsJDK5KeyStoreProvider.class.getName()).log(Level.SEVERE, null, ex); + System.out.println("error en el loginExcep" + ex); + } catch (KeyStoreException e) { + System.out.println("e:" + e.getCause().toString().length()); + throw new KeyStoreException(e); + } +// catch (Exception e){ +// System.out.println("Error en el keystore:" + e.getCause().toString().length() ); +// throw new KeyStoreException( e.getMessage() ,e.getCause()); +// } + return null; + } + + /** + * logout + * Esta función permite limpiar de memoria el keystore. + * @throws javax.security.auth.login.LoginException + */ + public void logout() throws LoginException { + + this.aprov.logout(); + } + + /** + * Instancia la clase sun.security.pkcs11.SunPKCS11 + * dinamicamente, usando Java Reflection. + * + * @return una instancia de sun.security.pkcs11.SunPKCS11 + */ + @SuppressWarnings("unchecked") + private Provider createSunPKCS11Provider(InputStream configStream) throws ProviderException, KeyStoreException { + try { + Class sunPkcs11Class = Class.forName(SUN_PKCS11_PROVIDER_CLASS); + + Constructor pkcs11Constr = sunPkcs11Class.getConstructor(InputStream.class); + Provider pkcs11Provider = (Provider) pkcs11Constr.newInstance(configStream); + + return pkcs11Provider; + + } catch (ClassNotFoundException e) { + throw new KeyStoreException(e); + } catch (NoSuchMethodException e) { + throw new KeyStoreException(e); + } catch (InvocationTargetException e) { + + throw new KeyStoreException(e.getMessage(), e.getCause()); + } catch (IllegalAccessException e) { + throw new KeyStoreException(e); + } catch (InstantiationException e) { + throw new KeyStoreException(e); + } + } +} diff --git a/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.java b/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.java new file mode 100644 index 0000000..6333abf --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.java @@ -0,0 +1,139 @@ +/** Programa para La firma electrónica de archivos +* Desarrollado y Modificado por la Subsecretaría de Tecnologías de la Información +* de la Secretaría Nacional de la Administración Pública del Ecuador +* Firma Digital firmadigital.informatica.gob.ec +*------------------------------------------------------------------------------ +* This program is free software: you can redistribute it and/or +modify +* it under the terms of the GNU Affero General Public License as +* published by the Free Software Foundation, either version 3 of the +* License, or (at your option) any later version. +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Affero General Public License for more details. +* +* You should have received a copy of the GNU Affero General Public +License +* along with this program. If not, see http://www.gnu.org/licenses. [^] +*------------------------------------------------------------------------------ +**/ +package com.fp.firma.keystore; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.security.AuthProvider; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.Provider; +import java.security.Security; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.security.auth.login.LoginException; + +/** + * Esta clase se usa para obtener el keystore (Con el se pueden obtener luego los certificados dentro del token) en Windows + */ +public class WindowsJDK5KeyStoreProvider_SD implements KeyStoreProvider { + + //private static final byte[] PKCS11_CONFIG = "name = SmartCard\nlibrary = C:\\WINDOWS\\SYSTEM32\\DKCK201.DLL \ndisabledMechanisms = { CKM_SHA1_RSA_PKCS }".getBytes(); + // esta linea corrige el error de la ubicación de Windows + // para trabajar con iKey + private static final String windowsDir_SD = "name = ePass3003\nlibrary = C:\\WINDOWS\\SYSTEM32\\SecurityDataCsp11_3003.dll \ndisabledMechanisms = { CKM_SHA1_RSA_PKCS } \n\r showInfo = true"; + private static final byte[] PKCS11_CONFIG_SD = windowsDir_SD.getBytes(); + private static final String SUN_PKCS11_PROVIDER_CLASS = "sun.security.pkcs11.SunPKCS11"; + private AuthProvider aprov; + + /** + * getKeystore + * Esta funcion se utiliza para obtener el keystore de java para manejar luego la clave privada y los certificados dentro del token + * @param password Se pasa la clave del token + * @return + * @throws java.security.KeyStoreException + */ + @Override + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + // empieza intentando con eToken + InputStream configStream = new ByteArrayInputStream(PKCS11_CONFIG_SD); + + Provider sunPKCS11Provider = this.createSunPKCS11Provider(configStream); + Security.addProvider(sunPKCS11Provider); + + + KeyStore.Builder ksBuilder = KeyStore.Builder.newInstance( + "PKCS11", + null, + new KeyStore.CallbackHandlerProtection(new SimpleCallbackHandler(null, password))); //cmdLineHdlr + + KeyStore ks = ksBuilder.getKeyStore(); + + // Estas lineas se añadieron para controlar mejor el logout del token + aprov = (AuthProvider) Security.getProvider(sunPKCS11Provider.getName()); + aprov.setCallbackHandler(new SimpleCallbackHandler(null, password)); //cmdLineHdlr + + try { + aprov.login(null, null); + } catch (LoginException ex) { + Logger.getLogger(WindowsJDK5KeyStoreProvider_SD.class.getName()).log(Level.SEVERE, null, ex); + throw new LoginException( /*ex*/); + } + + + + + return ks; //keyStore + } catch (LoginException ex) { + Logger.getLogger(WindowsJDK5KeyStoreProvider_SD.class.getName()).log(Level.SEVERE, null, ex); + System.out.println("error en el loginExcep" + ex); + } catch (KeyStoreException e) { + System.out.println("e:" + e.getCause().toString().length()); + throw new KeyStoreException(e); + } + +// } catch (Exception e){ +// System.out.println("Error en el keystore:" + e); +// throw new KeyStoreException(e); +// } + return null; + } + + /** + * logout + * Esta función permite limpiar de memoria el keystore. + * @throws javax.security.auth.login.LoginException + */ + public void logout() throws LoginException { + + this.aprov.logout(); + } + + /** + * Instancia la clase sun.security.pkcs11.SunPKCS11 + * dinamicamente, usando Java Reflection. + * + * @return una instancia de sun.security.pkcs11.SunPKCS11 + */ + @SuppressWarnings("unchecked") + private Provider createSunPKCS11Provider(InputStream configStream) throws KeyStoreException { + try { + Class sunPkcs11Class = Class.forName(SUN_PKCS11_PROVIDER_CLASS); + Constructor pkcs11Constr = sunPkcs11Class.getConstructor(InputStream.class); + Provider pkcs11Provider = (Provider) pkcs11Constr.newInstance(configStream); + + return pkcs11Provider; + } catch (ClassNotFoundException e) { + throw new KeyStoreException(e); + } catch (NoSuchMethodException e) { + throw new KeyStoreException(e); + } catch (InvocationTargetException e) { + throw new KeyStoreException(e); + } catch (IllegalAccessException e) { + throw new KeyStoreException(e); + } catch (InstantiationException e) { + throw new KeyStoreException(e); + } + } +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.java b/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.java new file mode 100644 index 0000000..fcf686f --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.java @@ -0,0 +1,144 @@ +/** Programa para La firma electrónica de archivos +* Desarrollado y Modificado por la Subsecretaría de Tecnologías de la Información +* de la Secretaría Nacional de la Administración Pública del Ecuador +* Firma Digital firmadigital.informatica.gob.ec +*------------------------------------------------------------------------------ +* This program is free software: you can redistribute it and/or +modify +* it under the terms of the GNU Affero General Public License as +* published by the Free Software Foundation, either version 3 of the +* License, or (at your option) any later version. +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Affero General Public License for more details. +* +* You should have received a copy of the GNU Affero General Public +License +* along with this program. If not, see http://www.gnu.org/licenses. [^] +*------------------------------------------------------------------------------ +**/ + + +package com.fp.firma.keystore; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.security.AuthProvider; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.Provider; +import java.security.Security; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.security.auth.login.LoginException; + +/** + * Esta clase se usa para obtener el keystore (Con el se pueden obtener luego los certificados dentro del token iKEY) en Windows + */ +public class WindowsJDK5KeyStoreProvider_iKey implements KeyStoreProvider { + + + + //private static final byte[] PKCS11_CONFIG = "name = SmartCard\nlibrary = C:\\WINDOWS\\SYSTEM32\\DKCK201.DLL \ndisabledMechanisms = { CKM_SHA1_RSA_PKCS }".getBytes(); + // esta linea corrige el error de la ubicación de Windows + // para trabajar con iKey + private static String windowsDir_iKey ="name = SmartCard\nlibrary = "+ System.getenv("WINDIR") + "\\SYSTEM32\\DKCK201.DLL \ndisabledMechanisms = { CKM_SHA1_RSA_PKCS } \n showInfo = true"; + private static final byte[] PKCS11_CONFIG_IKEY = windowsDir_iKey.getBytes(); + + + private static final String SUN_PKCS11_PROVIDER_CLASS = "sun.security.pkcs11.SunPKCS11"; + private AuthProvider aprov; + + /** + * getKeystore + * Esta funcion se utiliza para obtener el keystore de java para manejar luego la clave privada y los certificados dentro del token + * @param password Se pasa la clave del token + * @return + * @throws java.security.KeyStoreException + */ + @Override + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + // empieza intentando con eToken + InputStream configStream = new ByteArrayInputStream(PKCS11_CONFIG_IKEY); + + Provider sunPKCS11Provider = this.createSunPKCS11Provider(configStream); + Security.addProvider(sunPKCS11Provider); + + + KeyStore.Builder ksBuilder = KeyStore.Builder.newInstance( + "PKCS11", + null, + new KeyStore.CallbackHandlerProtection( new SimpleCallbackHandler(null,password ) )); //cmdLineHdlr + + KeyStore ks = ksBuilder.getKeyStore(); + + // Estas lineas se añadieron para controlar mejor el logout del token + aprov = (AuthProvider) Security.getProvider( sunPKCS11Provider.getName() ); + aprov.setCallbackHandler( new SimpleCallbackHandler(null,password ) ); //cmdLineHdlr + + try { + aprov.login(null, null); + } catch (LoginException ex) { + Logger.getLogger(WindowsJDK5KeyStoreProvider_iKey.class.getName()).log(Level.SEVERE, null, ex); + throw new LoginException( /*ex*/ ); + } + + + + + return ks; //keyStore + } + catch (LoginException ex) { + Logger.getLogger(WindowsJDK5KeyStoreProvider_iKey.class.getName()).log(Level.SEVERE, null, ex); + System.out.println("error en el loginExcep" + ex); + } catch (KeyStoreException e) { + System.out.println("e:"+ e.getCause().toString().length() ); + throw new KeyStoreException(e); + } + +// } catch (Exception e){ +// System.out.println("Error en el keystore:" + e); +// throw new KeyStoreException(e); +// } + return null; + } + /** + * logout + * Esta función permite limpiar de memoria el keystore. + * @throws javax.security.auth.login.LoginException + */ + public void logout() throws LoginException{ + + this.aprov.logout(); + } + /** + * Instancia la clase sun.security.pkcs11.SunPKCS11 + * dinamicamente, usando Java Reflection. + * + * @return una instancia de sun.security.pkcs11.SunPKCS11 + */ + @SuppressWarnings("unchecked") + private Provider createSunPKCS11Provider(InputStream configStream) throws KeyStoreException { + try { + Class sunPkcs11Class = Class.forName(SUN_PKCS11_PROVIDER_CLASS); + Constructor pkcs11Constr = sunPkcs11Class.getConstructor(InputStream.class); + Provider pkcs11Provider = (Provider) pkcs11Constr.newInstance(configStream); + + return pkcs11Provider; + } catch (ClassNotFoundException e) { + throw new KeyStoreException(e); + } catch (NoSuchMethodException e) { + throw new KeyStoreException(e); + } catch (InvocationTargetException e) { + throw new KeyStoreException(e); + } catch (IllegalAccessException e) { + throw new KeyStoreException(e); + } catch (InstantiationException e) { + throw new KeyStoreException(e); + } + } +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.java b/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.java new file mode 100644 index 0000000..5dfb66f --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2009 Libreria para Firma Digital development team. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + */ + +package com.fp.firma.keystore; + +import java.io.IOException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.UnrecoverableKeyException; +import java.security.cert.CertificateException; + +import com.fp.firma.common.FirmasException; + +/** + * Implementación de KeyStoreProvider para acceder al keystore del sistema operativo + * Microsoft Windows. + * + * Utiliza funcionalidad disponible desde el JDK6 en adelante para acceder al MS CAPI. + * + */ +public class WindowsJDK6KeyStoreProvider implements KeyStoreProvider { + + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + KeyStore keyStore = KeyStore.getInstance("Windows-MY"); + keyStore.load(null, password); + return keyStore; + } catch (NoSuchAlgorithmException e) { + throw new KeyStoreException(e); + } catch (CertificateException e) { + throw new KeyStoreException(e); + } catch (IOException e) { + if(e.getCause() instanceof UnrecoverableKeyException){ + throw new FirmasException(e); + } else{ + throw new KeyStoreException(e); + } + } catch (Throwable e) { + if ((e instanceof UnrecoverableKeyException)) { + throw new FirmasException(e); + } else{ + throw new KeyStoreException(e); + } + } + } +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/firma/keystore/WindowsKeyStoreProvider.java b/frontend/src/main/java/com/fp/firma/keystore/WindowsKeyStoreProvider.java new file mode 100644 index 0000000..a704f9f --- /dev/null +++ b/frontend/src/main/java/com/fp/firma/keystore/WindowsKeyStoreProvider.java @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2009 Libreria para Firma Digital development team. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + */ + +package com.fp.firma.keystore; + +import java.io.IOException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; + +/** + * Implementacion de KeyStoreProvider para acceder al keystore del sistema operativo + * Microsoft Windows. + * + * Utiliza funcionalidad disponible desde el JDK6 en adelante para acceder al MS CAPI. + * + */ +public class WindowsKeyStoreProvider implements KeyStoreProvider { + + private static final String MICROSOFT_WINDOWS_PROVIDER_TYPE = "Windows-MY"; + + @Override + public KeyStore getKeystore(char[] password) throws KeyStoreException { + try { + KeyStore keyStore = KeyStore.getInstance(MICROSOFT_WINDOWS_PROVIDER_TYPE); + keyStore.load(null, password); + return keyStore; + } catch (NoSuchAlgorithmException e) { + throw new KeyStoreException(e); + } catch (CertificateException e) { + throw new KeyStoreException(e); + } catch (IOException e) { + throw new KeyStoreException(e); + } + } +} \ No newline at end of file diff --git a/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/CargarDepositoController.java b/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/CargarDepositoController.java index 3fd5a74..971749b 100644 --- a/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/CargarDepositoController.java +++ b/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/CargarDepositoController.java @@ -438,7 +438,7 @@ public class CargarDepositoController extends AbstractController usandoComprobanteList = SolicitudTramiteController.findByNumeroComprobante(this.record.getNumerocomprobante()); + List usandoComprobanteList = SolicitudTramiteController.findByNumeroComprobante(this.record.getNumerocomprobante().trim()); if (usandoComprobanteList != null && usandoComprobanteList.size() > 0) { isTrueNComprobante = Boolean.FALSE; MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_comprobanteDepositoUsado")); diff --git a/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.java b/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.java index f34464b..4abe7e5 100644 --- a/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.java +++ b/frontend/src/main/java/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.java @@ -88,7 +88,7 @@ public class IngresoFichaTecnicaArmasController extends AbstractController { * BUSCANDO EL TIPO AUTORIZACION */ String logSolicitude = null; - String tipoAutorizacion = ""; + String tipoAutorizacion = null; TarmSolicitud solicitud= null; TarmTramite tramite = null; String tipoAutorizacionAux = null; @@ -283,7 +283,7 @@ public class InboxController extends AbstractController { logSolicitude = mapTask.get("logsolicitude").toString(); if(logSolicitude.startsWith("SOL-")){ tipoAutorizacion = verificarTipoAutorizacion(logSolicitude, solicitud, tramite, tipoAutorizacionAux); - mapTask.put("tipoAutorizacion", tipoAutorizacion); + mapTask.put("tipoAutorizacion", tipoAutorizacion); } this.fillTaskDetail(mapTask); } diff --git a/frontend/src/main/webapp/pages/armas/cargarDeposito.xhtml b/frontend/src/main/webapp/pages/armas/cargarDeposito.xhtml index 7e3b40b..a8443c7 100644 --- a/frontend/src/main/webapp/pages/armas/cargarDeposito.xhtml +++ b/frontend/src/main/webapp/pages/armas/cargarDeposito.xhtml @@ -92,7 +92,7 @@ - + diff --git a/frontend/src/main/webapp/pages/general/catalogdetail.xhtml b/frontend/src/main/webapp/pages/general/catalogdetail.xhtml index 40265b7..a96870d 100644 --- a/frontend/src/main/webapp/pages/general/catalogdetail.xhtml +++ b/frontend/src/main/webapp/pages/general/catalogdetail.xhtml @@ -87,8 +87,8 @@ - + - + - + diff --git a/frontend/src/test/java/testFactura.java b/frontend/src/test/java/testFactura.java index bde8f55..9ecbd99 100644 --- a/frontend/src/test/java/testFactura.java +++ b/frontend/src/test/java/testFactura.java @@ -10,6 +10,7 @@ import com.fp.frontend.controller.pcustomer.PersonDetailController; import com.fp.frontend.controller.pcustomer.PersonPhoneController; import com.fp.frontend.controller.pgeneral.gene.CatalogDetailController; import com.fp.frontend.controller.pgeneral.gene.CityController; +import com.fp.firma.common.CertificateUtils; import com.fp.frontend.controller.pgeneral.gene.ParametersController; import com.fp.persistence.parmas.param.TarmCentroControl; @@ -22,13 +23,45 @@ import com.fp.persistence.pcustomer.gene.TcustPersonPhone; import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail; import com.fp.persistence.pgeneral.gene.TgeneCity; import com.fp.persistence.pgeneral.gene.TgeneParameters; +import com.itextpdf.text.DocumentException; +import com.itextpdf.text.Font; +import com.itextpdf.text.Rectangle; +import com.itextpdf.text.pdf.PdfReader; +import com.itextpdf.text.pdf.PdfSignatureAppearance; +import com.itextpdf.text.pdf.PdfStamper; +import com.itextpdf.text.pdf.security.BouncyCastleDigest; +import com.itextpdf.text.pdf.security.DigestAlgorithms; +import com.itextpdf.text.pdf.security.ExternalDigest; +import com.itextpdf.text.pdf.security.ExternalSignature; +import com.itextpdf.text.pdf.security.MakeSignature; +import com.itextpdf.text.pdf.security.OcspClient; +import com.itextpdf.text.pdf.security.OcspClientBouncyCastle; +import com.itextpdf.text.pdf.security.PrivateKeySignature; +import com.itextpdf.text.pdf.security.TSAClient; +import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; +import java.security.GeneralSecurityException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.PrivateKey; +import java.security.cert.CertificateException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.HashMap; import java.util.Map; import java.util.Scanner; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPasswordField; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.openide.util.Exceptions; @@ -265,4 +298,69 @@ public class testFactura { int value2= sc.nextInt(); System.out.println("La suma de los dos numeros es:" +(value1+value2)); */ } + + /** + * TEST FIRMA + */ + /** + public void firmaAccion(){ + // TODO add your handling code here: + InputStream inputStream = null; + try{ + String pathPDF = "/home/developer2/data/actaRecepciondeArmas.pdf"; + String tipoFirma="1"; + String razon = "rison is yu"; + String lugar = "lugar"; + String nombreFirma = ""; + String password ="password"; + Float llx = 0.0F; + Float lly = 0.0F; + Float urx = 0.0F; + Float ury = 0.0F; + if(tipoFirma == null){ + JOptionPane.showMessageDialog(null, "Debe seleccionar un Token con el cual firmar", "Tipo Firma", JOptionPane.ERROR_MESSAGE); + return; + } + if(pathPDF != null){ + //final JComponent[] components = new JComponent[]{new JLabel("Password:"), txtPasswordToken}; + //JOptionPane.showMessageDialog(null, components, "TOKEN", JOptionPane.PLAIN_MESSAGE); + if(password == null){ + throw new NullPointerException("Error en FIR-0007: Password nulo"); + } + inputStream = new FileInputStream(pathPDF); + byte[] datos = CertificateUtils.sign(inputStream, null, new String(txtPasswordToken.getPassword()), razon, lugar, Boolean.FALSE.booleanValue(), Boolean.FALSE.booleanValue(), new Rectangle(llx.floatValue(), lly.floatValue(), urx.floatValue(), ury.floatValue()), 1, nombreFirma, this.tipoFirma); + if(datos != null){ + escribirArchivo(datos); + txtPasswordToken.setText(""); + JOptionPane.showMessageDialog(null, "El archivo se modificado correctamente", "Archivo firmado", JOptionPane.INFORMATION_MESSAGE); + } + }else{ + JOptionPane.showMessageDialog(null, "Debe seleccionar un archivo", "Archivo no encontrado", JOptionPane.ERROR_MESSAGE); + } + btnFirmarArchivo.setEnabled(false); + btnExaminar.setEnabled(false); + } catch(IOException e){ + JOptionPane.showMessageDialog(null, e.getMessage(), "IO Error", JOptionPane.ERROR_MESSAGE); + } catch(Exception e){ + JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } finally{ + try { + if(inputStream != null){ + inputStream.close(); + } + } catch (IOException ex) { + Logger.getLogger(FirmaApplet.class.getName()).log(Level.SEVERE, null, ex); + } + } + + } + */ + /** + * *Firmar + + */ + + + + } diff --git a/frontend/target/classes/.netbeans_automatic_build b/frontend/target/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/target/classes/com/fp/firma/common/CertificateUtils.class b/frontend/target/classes/com/fp/firma/common/CertificateUtils.class new file mode 100644 index 0000000..20c7e36 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/common/CertificateUtils.class differ diff --git a/frontend/target/classes/com/fp/firma/common/FirmMessages.class b/frontend/target/classes/com/fp/firma/common/FirmMessages.class new file mode 100644 index 0000000..e982291 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/common/FirmMessages.class differ diff --git a/frontend/target/classes/com/fp/firma/common/FirmasException.class b/frontend/target/classes/com/fp/firma/common/FirmasException.class new file mode 100644 index 0000000..9599689 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/common/FirmasException.class differ diff --git a/frontend/target/classes/com/fp/firma/common/TfirmDatosFirmante.class b/frontend/target/classes/com/fp/firma/common/TfirmDatosFirmante.class new file mode 100644 index 0000000..16fceaf Binary files /dev/null and b/frontend/target/classes/com/fp/firma/common/TfirmDatosFirmante.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class b/frontend/target/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class new file mode 100644 index 0000000..5fc1cd2 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/FileKeyStoreProvider.class b/frontend/target/classes/com/fp/firma/keystore/FileKeyStoreProvider.class new file mode 100644 index 0000000..bee570a Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/FileKeyStoreProvider.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/KeyStoreProvider.class b/frontend/target/classes/com/fp/firma/keystore/KeyStoreProvider.class new file mode 100644 index 0000000..9c708ff Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/KeyStoreProvider.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class b/frontend/target/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class new file mode 100644 index 0000000..5c32e49 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class b/frontend/target/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class new file mode 100644 index 0000000..50d4d5b Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/MockKeyStoreProvider.class b/frontend/target/classes/com/fp/firma/keystore/MockKeyStoreProvider.class new file mode 100644 index 0000000..00ba941 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/MockKeyStoreProvider.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class b/frontend/target/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class new file mode 100644 index 0000000..8639658 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/SimpleCallbackHandler.class b/frontend/target/classes/com/fp/firma/keystore/SimpleCallbackHandler.class new file mode 100644 index 0000000..a2e7da4 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/SimpleCallbackHandler.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class b/frontend/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class new file mode 100644 index 0000000..af4c147 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class b/frontend/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class new file mode 100644 index 0000000..c702595 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class b/frontend/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class new file mode 100644 index 0000000..797afce Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class b/frontend/target/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class new file mode 100644 index 0000000..e8c8ec4 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class differ diff --git a/frontend/target/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class b/frontend/target/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class new file mode 100644 index 0000000..ab02336 Binary files /dev/null and b/frontend/target/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class differ diff --git a/frontend/target/classes/com/fp/frontend/controller/armas/eval/ConocimientoLovController.class b/frontend/target/classes/com/fp/frontend/controller/armas/eval/ConocimientoLovController.class index 2752bc9..aa98283 100644 Binary files a/frontend/target/classes/com/fp/frontend/controller/armas/eval/ConocimientoLovController.class and b/frontend/target/classes/com/fp/frontend/controller/armas/eval/ConocimientoLovController.class differ diff --git a/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/ArmasController.class b/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/ArmasController.class index 2b5b22b..fadef0a 100644 Binary files a/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/ArmasController.class and b/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/ArmasController.class differ diff --git a/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.class b/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.class index d392733..afe8173 100644 Binary files a/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.class and b/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.class differ diff --git a/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/PagarTarjetaController.class b/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/PagarTarjetaController.class index d62fbb2..7f3f893 100644 Binary files a/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/PagarTarjetaController.class and b/frontend/target/classes/com/fp/frontend/controller/armas/solicitud/PagarTarjetaController.class differ diff --git a/frontend/target/classes/com/fp/frontend/controller/bpm/InboxController.class b/frontend/target/classes/com/fp/frontend/controller/bpm/InboxController.class index 533d4cc..db7c56a 100644 Binary files a/frontend/target/classes/com/fp/frontend/controller/bpm/InboxController.class and b/frontend/target/classes/com/fp/frontend/controller/bpm/InboxController.class differ diff --git a/frontend/target/maia.war b/frontend/target/maia.war index bddf3d5..8d8b692 100644 Binary files a/frontend/target/maia.war and b/frontend/target/maia.war differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/CertificateUtils.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/CertificateUtils.class new file mode 100644 index 0000000..20c7e36 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/CertificateUtils.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/FirmMessages.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/FirmMessages.class new file mode 100644 index 0000000..e982291 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/FirmMessages.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/FirmasException.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/FirmasException.class new file mode 100644 index 0000000..9599689 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/FirmasException.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/TfirmDatosFirmante.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/TfirmDatosFirmante.class new file mode 100644 index 0000000..16fceaf Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/common/TfirmDatosFirmante.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class new file mode 100644 index 0000000..5fc1cd2 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/AppleKeyStoreProvider.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/FileKeyStoreProvider.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/FileKeyStoreProvider.class new file mode 100644 index 0000000..bee570a Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/FileKeyStoreProvider.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/KeyStoreProvider.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/KeyStoreProvider.class new file mode 100644 index 0000000..9c708ff Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/KeyStoreProvider.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class new file mode 100644 index 0000000..5c32e49 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/KeyStoreProviderFactory.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class new file mode 100644 index 0000000..50d4d5b Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/LinuxKeyStoreProvider.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/MockKeyStoreProvider.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/MockKeyStoreProvider.class new file mode 100644 index 0000000..00ba941 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/MockKeyStoreProvider.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class new file mode 100644 index 0000000..8639658 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/PKCS11KeyStoreProvider.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/SimpleCallbackHandler.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/SimpleCallbackHandler.class new file mode 100644 index 0000000..a2e7da4 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/SimpleCallbackHandler.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class new file mode 100644 index 0000000..af4c147 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class new file mode 100644 index 0000000..c702595 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class new file mode 100644 index 0000000..797afce Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class new file mode 100644 index 0000000..e8c8ec4 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class new file mode 100644 index 0000000..ab02336 Binary files /dev/null and b/frontend/target/maia/WEB-INF/classes/com/fp/firma/keystore/WindowsKeyStoreProvider.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/eval/ConocimientoLovController.class b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/eval/ConocimientoLovController.class index 2752bc9..aa98283 100644 Binary files a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/eval/ConocimientoLovController.class and b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/eval/ConocimientoLovController.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/ArmasController.class b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/ArmasController.class index 2b5b22b..fadef0a 100644 Binary files a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/ArmasController.class and b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/ArmasController.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.class b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.class index d392733..afe8173 100644 Binary files a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.class and b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/PagarTarjetaController.class b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/PagarTarjetaController.class index d62fbb2..7f3f893 100644 Binary files a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/PagarTarjetaController.class and b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/armas/solicitud/PagarTarjetaController.class differ diff --git a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/bpm/InboxController.class b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/bpm/InboxController.class index 533d4cc..db7c56a 100644 Binary files a/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/bpm/InboxController.class and b/frontend/target/maia/WEB-INF/classes/com/fp/frontend/controller/bpm/InboxController.class differ diff --git a/frontend/target/maia/WEB-INF/lib/bpm-2.1.jar b/frontend/target/maia/WEB-INF/lib/bpm-2.1.jar index 37bc9e9..686cf42 100644 Binary files a/frontend/target/maia/WEB-INF/lib/bpm-2.1.jar and b/frontend/target/maia/WEB-INF/lib/bpm-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/common-2.1.jar b/frontend/target/maia/WEB-INF/lib/common-2.1.jar index 771fa49..94991c2 100644 Binary files a/frontend/target/maia/WEB-INF/lib/common-2.1.jar and b/frontend/target/maia/WEB-INF/lib/common-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/commondb-2.1.jar b/frontend/target/maia/WEB-INF/lib/commondb-2.1.jar index 1ad15bc..252bc76 100644 Binary files a/frontend/target/maia/WEB-INF/lib/commondb-2.1.jar and b/frontend/target/maia/WEB-INF/lib/commondb-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/dto-2.1.jar b/frontend/target/maia/WEB-INF/lib/dto-2.1.jar index b054f22..073db6d 100644 Binary files a/frontend/target/maia/WEB-INF/lib/dto-2.1.jar and b/frontend/target/maia/WEB-INF/lib/dto-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/facadeclient-2.1.jar b/frontend/target/maia/WEB-INF/lib/facadeclient-2.1.jar index 3fbeea8..7f499e6 100644 Binary files a/frontend/target/maia/WEB-INF/lib/facadeclient-2.1.jar and b/frontend/target/maia/WEB-INF/lib/facadeclient-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/firmas-2.1.jar b/frontend/target/maia/WEB-INF/lib/firmas-2.1.jar index e649b87..d507d52 100644 Binary files a/frontend/target/maia/WEB-INF/lib/firmas-2.1.jar and b/frontend/target/maia/WEB-INF/lib/firmas-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/parmas-2.1.jar b/frontend/target/maia/WEB-INF/lib/parmas-2.1.jar index 10968b4..0ddcab0 100644 Binary files a/frontend/target/maia/WEB-INF/lib/parmas-2.1.jar and b/frontend/target/maia/WEB-INF/lib/parmas-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/pbpm-2.1.jar b/frontend/target/maia/WEB-INF/lib/pbpm-2.1.jar index 928ae68..f40ef35 100644 Binary files a/frontend/target/maia/WEB-INF/lib/pbpm-2.1.jar and b/frontend/target/maia/WEB-INF/lib/pbpm-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/pcustomer-2.1.jar b/frontend/target/maia/WEB-INF/lib/pcustomer-2.1.jar index 1609c50..f0726e4 100644 Binary files a/frontend/target/maia/WEB-INF/lib/pcustomer-2.1.jar and b/frontend/target/maia/WEB-INF/lib/pcustomer-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/pfirmas-2.1.jar b/frontend/target/maia/WEB-INF/lib/pfirmas-2.1.jar index 360cd0f..2565a12 100644 Binary files a/frontend/target/maia/WEB-INF/lib/pfirmas-2.1.jar and b/frontend/target/maia/WEB-INF/lib/pfirmas-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/pgeneral-2.1.jar b/frontend/target/maia/WEB-INF/lib/pgeneral-2.1.jar index 08cb68d..016eefc 100644 Binary files a/frontend/target/maia/WEB-INF/lib/pgeneral-2.1.jar and b/frontend/target/maia/WEB-INF/lib/pgeneral-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/simple-2.1.jar b/frontend/target/maia/WEB-INF/lib/simple-2.1.jar index add980d..c55f45e 100644 Binary files a/frontend/target/maia/WEB-INF/lib/simple-2.1.jar and b/frontend/target/maia/WEB-INF/lib/simple-2.1.jar differ diff --git a/frontend/target/maia/WEB-INF/lib/util-2.1.jar b/frontend/target/maia/WEB-INF/lib/util-2.1.jar index 817cf6e..104e704 100644 Binary files a/frontend/target/maia/WEB-INF/lib/util-2.1.jar and b/frontend/target/maia/WEB-INF/lib/util-2.1.jar differ diff --git a/frontend/target/maia/pages/armas/cargarDeposito.xhtml b/frontend/target/maia/pages/armas/cargarDeposito.xhtml index 7e3b40b..a8443c7 100644 --- a/frontend/target/maia/pages/armas/cargarDeposito.xhtml +++ b/frontend/target/maia/pages/armas/cargarDeposito.xhtml @@ -92,7 +92,7 @@ - + diff --git a/frontend/target/maia/pages/general/catalogdetail.xhtml b/frontend/target/maia/pages/general/catalogdetail.xhtml index 40265b7..a96870d 100644 --- a/frontend/target/maia/pages/general/catalogdetail.xhtml +++ b/frontend/target/maia/pages/general/catalogdetail.xhtml @@ -87,8 +87,8 @@ - + - + - + diff --git a/frontend/target/maven-archiver/pom.properties b/frontend/target/maven-archiver/pom.properties index 695763a..ca982d0 100644 --- a/frontend/target/maven-archiver/pom.properties +++ b/frontend/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Dec 29 11:39:19 ECT 2022 +#Wed Jan 18 15:26:19 ECT 2023 version=2.1 groupId=com.fp artifactId=frontend diff --git a/frontend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/frontend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 19298fc..2d5007b 100644 --- a/frontend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/frontend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,6 +1,7 @@ com/fp/frontend/webservices/DatosSnapService.class com/fp/frontend/webservices/impl/ArmaServiceImpl.class com/fp/frontend/validators/CedulaValidator.class +com/fp/firma/keystore/WindowsJDK5KeyStoreProvider.class com/fp/frontend/controller/pgeneral/gene/BalanceGroupController.class com/fp/frontend/controller/error/ErrorController.class com/fp/frontend/controller/armas/solicitud/PermisosAutorizacionesController.class @@ -87,6 +88,7 @@ com/fp/frontend/controller/armas/solicitud/DecomisoController.class com/fp/frontend/controller/pcustomer/PeopleController.class com/fp/frontend/controller/bpm/TaskServerController.class com/fp/frontend/controller/pgeneral/gene/QueryProcessController.class +com/fp/firma/keystore/SimpleCallbackHandler.class com/fp/frontend/controller/AbstractController.class com/fp/frontend/controller/armas/parametros/util/EstadosSolicitudBPM.class com/fp/frontend/controller/armas/eval/ConocimientoLovController.class @@ -118,6 +120,7 @@ com/fp/frontend/utility/ConvertNumberToText.class com/fp/frontend/controller/armas/solicitud/ConsultaArmasController.class com/fp/frontend/controller/armas/solicitud/VerificacionReimpresion.class com/fp/frontend/webservices/impl/InstitucionSnapEnum.class +com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_iKey.class com/fp/frontend/controller/armas/solicitud/PagarTarjetaController.class com/fp/frontend/controller/armas/lov/SitioAlmacenamientoLovController.class com/fp/frontend/controller/armas/solicitud/AgenciaArmaController.class @@ -125,6 +128,7 @@ com/fp/frontend/controller/armas/solicitud/InspeccionController.class com/fp/frontend/controller/bpm/AssignmentsController.class com/fp/frontend/controller/pcustomer/CompanyController.class com/fp/frontend/controller/armas/solicitud/ReclamoDecomisoCoordinadorMilitarController.class +com/fp/firma/keystore/WindowsKeyStoreProvider.class com/fp/frontend/webservices/rest/services/CommonResource.class com/fp/frontend/controller/armas/parametros/ArmaController.class com/fp/frontend/controller/armas/solicitud/ReporteConsultaSolicitudController.class @@ -164,6 +168,7 @@ com/fp/frontend/controller/alfresco/AlfrescoController.class com/fp/frontend/controller/armas/solicitud/FacturaController.class com/fp/frontend/controller/pgeneral/gene/ParroquiaController.class com/fp/frontend/controller/armas/funcionalidad/ReportePermisosAutorizacionesCconController.class +com/fp/firma/common/TfirmDatosFirmante.class com/fp/frontend/controller/armas/parametros/LongitudLovController.class com/fp/frontend/controller/pgeneral/product/SubProductController.class com/fp/frontend/controller/pcustomer/FileDetailController.class @@ -190,6 +195,7 @@ com/fp/frontend/filter/GZIPResponseStream.class com/fp/frontend/controller/armas/solicitud/PlanificacionInspeccionController$1.class com/fp/frontend/controller/general/audit/AuditReportController.class com/fp/frontend/controller/bpm/FieldTransactionMappingController.class +com/fp/firma/keystore/MockKeyStoreProvider.class com/fp/frontend/controller/armas/parametros/IngresoInventarioController.class com/fp/frontend/controller/armas/solicitud/DecomisoArmaTransaccionController.class com/fp/frontend/controller/armas/solicitud/ArmasBloqueoController.class @@ -224,6 +230,7 @@ com/fp/frontend/controller/bpm/lov/TransactionBpmELovController.class com/fp/frontend/utility/CommonTransformer.class com/fp/frontend/filter/TimeoutManagerFilter.class com/fp/frontend/controller/armas/parametros/SancionesController.class +com/fp/firma/keystore/LinuxKeyStoreProvider.class com/fp/frontend/controller/armas/solicitud/TarmSolicitudTramiteController.class com/fp/frontend/controller/armas/parametros/ImportacionController.class com/fp/frontend/controller/pcustomer/PersonDetailController.class @@ -239,6 +246,7 @@ com/fp/frontend/controller/bpm/NotifyController.class com/fp/frontend/controller/armas/solicitud/SolicitudArmasController.class com/fp/frontend/controller/armas/solicitud/AprobacionPlanInspeccionController$1.class com/fp/frontend/controller/ReportController.class +com/fp/firma/common/FirmasException.class com/fp/frontend/controller/armas/parametros/TipoArmaExpLovController.class com/fp/frontend/controller/pgeneral/gene/CatalogController.class com/fp/frontend/controller/armas/solicitud/InventariosController.class @@ -254,6 +262,7 @@ com/fp/frontend/controller/pgeneral/date/TgeneAccountingDateBranchController.cla com/fp/frontend/controller/armas/solicitud/ModificarPlanificacionInspeccionController.class com/fp/frontend/controller/armas/parametros/ImporteTipoArmaExplosivoController.class com/fp/frontend/webservices/ColaImpresionService.class +com/fp/firma/common/CertificateUtils.class com/fp/frontend/controller/armas/parametros/RequisitoController.class com/fp/frontend/controller/pgeneral/gene/ChargesGroupController.class com/fp/frontend/webservices/ArmaService.class @@ -268,6 +277,7 @@ com/fp/frontend/utility/Content.class com/fp/frontend/controller/armas/parametros/UnidadTipoController.class com/fp/frontend/controller/pgeneral/lov/TransactionLovController.class com/fp/frontend/controller/pgeneral/lov/ProcessLovControler.class +com/fp/firma/keystore/AppleKeyStoreProvider.class com/fp/frontend/controller/pgeneral/lov/BranchLovController.class com/fp/frontend/webservices/snap/cedula/CedulaServicioService.class com/fp/frontend/controller/pgeneral/menu/LevelController.class @@ -279,6 +289,7 @@ com/fp/frontend/controller/armas/solicitud/RegistroInspeccionPlaniNoPlaniControl com/fp/frontend/controller/armas/solicitud/DecomisoMaterialController.class com/fp/frontend/controller/armas/parametros/CalibreLovController.class com/fp/frontend/controller/armas/solicitud/IngresoFichaTecnicaArmasController.class +com/fp/firma/keystore/WindowsJDK6KeyStoreProvider.class com/fp/frontend/validators/DocFirmaValidator.class com/fp/frontend/controller/pgeneral/gene/CityController.class com/fp/frontend/controller/pgeneral/gene/ChargesDefinitionController.class @@ -326,6 +337,7 @@ com/fp/frontend/controller/pgeneral/trans/TransactionController.class com/fp/frontend/controller/armas/eval/DetallePreguntasController.class com/fp/frontend/controller/armas/funcionalidad/DesaduanizacionOldController.class com/fp/frontend/controller/pgeneral/gene/ChannelController.class +com/fp/firma/keystore/FileKeyStoreProvider.class com/fp/frontend/controller/armas/funcionalidad/ReporteTipoFabricacionController.class com/fp/frontend/webservices/snap/cedula/ConsultarCedulaResponse.class com/fp/frontend/webservices/rest/RestApplication.class @@ -344,6 +356,7 @@ com/fp/frontend/controller/armas/solicitud/SolicitudGuardiasController.class com/fp/frontend/controller/security/reports/ReportUserController.class com/fp/frontend/controller/armas/funcionalidad/ReporteTipoAutorizacionController.class com/fp/frontend/controller/pgeneral/safe/UserPerfilAssiggnationController.class +com/fp/firma/keystore/PKCS11KeyStoreProvider.class com/fp/frontend/controller/armas/solicitud/ReporteControlInventarioController.class com/fp/frontend/controller/pgeneral/gene/ParametersController.class com/fp/frontend/webservices/impl/InventarioServiceImpl.class @@ -359,11 +372,14 @@ com/fp/frontend/controller/pcustomer/PersonAddressController.class com/fp/frontend/controller/armas/parametros/ImporteArmasExcelController.class com/fp/frontend/controller/pgeneral/lov/EntityLovController.class com/fp/frontend/helper/CallerHelper.class +com/fp/firma/keystore/KeyStoreProviderFactory.class +com/fp/firma/keystore/KeyStoreProvider.class com/fp/frontend/controller/armas/lov/CertArmasLovController.class com/fp/frontend/filter/TimeoutManagerFilter$InnerFacesContext.class com/fp/frontend/controller/armas/solicitud/AgenciaSucursalController.class com/fp/frontend/webservices/rest/dto/LoginData.class com/fp/frontend/controller/bpm/ExportFlowsController.class +com/fp/firma/common/FirmMessages.class com/fp/frontend/controller/armas/funcionalidad/ReporteDecomisoController.class com/fp/frontend/controller/armas/solicitud/SolicitudCambioDepositoController.class com/fp/frontend/controller/armas/eval/RespuestasController.class @@ -386,6 +402,7 @@ com/fp/frontend/controller/armas/solicitud/ColaImpresionController.class com/fp/frontend/controller/armas/solicitud/SolicitudAgenciaSucursalController.class com/fp/frontend/controller/pcustomer/FacturaController.class com/fp/frontend/controller/armas/parametros/FirmarDocumentoFiscaliaController.class +com/fp/firma/keystore/WindowsJDK5KeyStoreProvider_SD.class com/fp/frontend/utility/LifeCicleListener.class com/fp/frontend/controller/pgeneral/firmas/CertificadosController.class com/fp/frontend/controller/pgeneral/menu/MenuLevelTranController.class diff --git a/frontend/target/test-classes/.netbeans_automatic_build b/frontend/target/test-classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/target/test-classes/testFactura.class b/frontend/target/test-classes/testFactura.class index 66fe3ff..ed1ac56 100644 Binary files a/frontend/target/test-classes/testFactura.class and b/frontend/target/test-classes/testFactura.class differ