Table Excerpt |
---|
| Plugin info |
---|
MaintenanceDepartment | Dev CUF |
---|
LicType | Płatna |
---|
ArtifactId | plus-esignature |
---|
TypWtyczki | Wtyczka |
---|
PluginId | com.suncode.plugin-plus-esignature |
---|
ShortDescription | Wtyczka zawiera akcję służącą do składania kwalifikowanego lub niekwalifikowanego podpisu elektronicznego. |
---|
| |
|
Warning |
---|
| Wymagana wersja systemu PWFL: 4.0.19 Wymagana wersja wtyczki PWE: 4.0.13 Wymagana wersja wtyczki Plugin Configuration Manager: 4.0.01 |
Panel |
---|
title | Podstawowe informacje |
---|
| Wtyczka zawiera akcję służącą do składania kwalifikowanego lub niekwalifikowanego podpisu elektronicznego. Wstawianie podpisu jest możliwe dzięki mechanizmowi zapewnionemu przez komponent Szafir SDK Web Module - bibliotekę umożliwiającą wbudowanie funkcjonalności podpisu elektronicznego w aplikacje i systemy wykorzystujące do komunikacji z użytkownikiem interfejs przeglądarki WWW. |
Panel |
---|
title | Konfiguracja certyfikatu |
---|
| Aby móc korzystać z komponentów wtyczki, która opiera się na działaniu aplikacji Szafir, konieczne jest uprzednie zdefiniowanie pliku konfiguracyjnego w panelu zarządzania konfiguracjami wtyczek (PCM - Plugin Configuration Manager) w zakładce Plus eSignature. Plik ten zawiera magazyn certyfikatów, definicje dostawców kryptografii, ustawienia związane z serwerem znacznika czasu, ustawienia sieciowe oraz inne parametry mające wpływ na działanie wtyczki. Po zainstalowaniu wtyczki w systemie, w PCM zostaje utworzony plik z domyślną konfiguracją certyfikatu o nazwie settings_cryptoproviders. Możliwa jest edycja tej konfiguracji oraz dodawanie własnych konfiguracji certyfikatu. Wszystkie pliki z konfiguracjami przechowywane są w formacie XML. W pliku tym definiuje się również dostawców podpisu w postaci wskazania bibliotek obsługujących sprzętowe klucze zawierające certyfikaty podpisu lub pieczęci elektronicznej oraz wskazania lokalizacji certyfikatów programowych zawierających podpis lub pieczęć. Expand |
---|
title | Konfiguracja magazynu certyfikatów |
---|
| Magazyn certyfikatów dostępny jest w postaci znacznik <LocalStore>. Znacznik ten zawiera elementy z zakodowanymi w Base64 certyfikatami podmiotów świadczących usługi certyfikacyjne <CACertificate> oraz adresy HTTP/HTTPS/LDAP wskazujące na podmioty udzielające informacji na temat ważności certyfikatów w formie list CRL lub odpowiedzi OCSP. Code Block |
---|
language | xml |
---|
linenumbers | true |
---|
| <LocalStore>
<CACertificate><!-- [ 02 ] PL
VALIDITY: 2002-06-11 => 2027-06-11
SUBJECT : C=PL; O=Unizeto Sp. z o.o.; CN=Certum CA
ISSUER : C=PL; O=Unizeto Sp. z o.o.; CN=Certum CA
SERIAL : 010020
--><X509Certificate>
MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2
MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E
jG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE
7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7
HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjC
mkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x
O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==</X509Certificate>
<CRLAddress>https://crl.certum.pl/ca.crl</CRLAddress>
</CACertificate>
...
</LocalStore> |
|
Expand |
---|
title | Generowanie certyfikatu programowego i podłączenie go do pliku konfiguracyjnego |
---|
| W celu skorzystania z certyfikatu programowego (niekwalifikowanego) należy wygenerować własny certyfikat oraz umieścić odwołanie do niego wraz z kluczem publicznym w pliku konfiguracyjnym settings_cryptoproviders. Aby programowo wygenerować własny certyfikat należy mieć na komputerze zainstalowane środowisko java (jre lub jdk). Należy wejść do katalogu bin, np. d:\PlusWorkflow\Java\jdk1.8.0_161\bin\ i wydać polecenie: Code Block |
---|
keytool -genkeypair -keystore certyfikat.p12 -storetype PKCS12 -storepass suncode -alias certyfikat -keyalg RSA -keysize 2048 -validity 99999 -dname "CN=Imie Nazwisko, O=Suncode, L=Poznan, ST=Wlkp, C=PL" |
Aby z wygenerowanego certyfikatu pobrać klucz publiczny należy wykonać następujące polecenie: Code Block |
---|
keytool -exportcert -keystore certyfikat.p12 -storepass suncode -alias certyfikat -rfc -file public-certificate.pem |
W celu podłączenia wygenerowanego certyfikatu do pliku konfiguracyjnego settings_cryptoproviders należy dodać klucz publiczny w sekcjach: <CACertificate> <X509Certificate> Code Block |
---|
<!--
<LocalStore>
...
-->
<CACertificate>
<X509Certificate>
{tekstowa zawartosc pliku public-certificate.pem}
</X509Certificate>
<CRLAddress>http://crl.omniroot.com/ctglobal.crl</CRLAddress>
</CACertificate>
<!--
...
</LocalStore>
--> |
A następnie w sekcji <SoftwareProvider> dodać wskazanie na wygenerowany wcześniej certyfiakt: Code Block |
---|
<!--
<CryptoProviders>
...
-->
<SoftwareProvider>
<Name>PKCS#12</Name>
<URI>file:///d:/Certyfikaty/certyfikat.p12</URI>
</SoftwareProvider>
<!--
...
</CryptoProviders>
--> |
Info |
---|
| Podane przy generowaniu certyfikatu hasło w parametrze storepass (suncode) jest PIN'em, który należy podać przy podpisywaniu dokumentów. |
|
Expand |
---|
title | Konfiguracja list CRL |
---|
| Adresy list CRL dla poszczególnych certyfikatów zawarte są w znaczniku <CRLAddress> umieszczonym w kontenerze <CACertificate>. Dla każdego podmiotu możliwe jest również dołączenie adresów z historycznymi listami CRL, za pomocą elementu <HistoricalCRLAddress> umieszczonego za elementem <CRLAddress> Każda z lokalizacji list CRL musi być zapisana w postaci zgodnej z URI. W przypadku gdy CA nie obsługuje CRL należy ustawić wartość <CRLAddress>NO_CRLDISTRIBUTIONPOINT</CRLAddress>. |
Expand |
---|
title | Konfiguracja usługi OCSP |
---|
| Wskazanie na adres usługi OCSP dla poszczególnych urzędów certyfikacji odbywa się poprzez znacznik <OCSPAddress>, umieszczony za elementami wskazującymi na listy CRL w kontenerze <CACertificate>. Lokalizacja usługi OCSP musi być zapisana w postaci zgodnej z URI (HTTP/HTTPS). Dodatkowo, za sekcją <LocalStore> musi pojawić się wpis <UseOCSPOverCRL>true</UseOCSPOverCRL>; w przypadku jego braku, komponenty Szafir SDK będą używały list CRL. Jeśli usługa OCSP będzie niedostępna, wykorzystywane będą listy CRL. |
Expand |
---|
title | Konfiguracja certyfikatów do podpisu |
---|
| Sekcja <Signing> pozwala na wybranie odpowiedniego rodzaju certyfikatu lub bezpośrednio certyfikatu używanego do składania podpisu elektronicznego, poprzez odfiltrowanie pozostałych certyfikatów. Domyślnie nie ma ograniczeń na certyfikat (<AnyCertificate>). Możliwe są ponadto opcje: - <AnyQualifiedCertificate> - dowolny kwalifikowany certyfikat
- <AnyNonQualifiedCertificate> - dowolny niekwalifikowany certyfikat
- <OneCertificate> - jeden certyfikat, identyfikowany za pomocą <Issuer> (wystawca w postaci DN, po przecinkach) oraz <Serial> (numer seryjny w postaci DEC – dziesiętnej – można odczytać go przy pomocy Szafir bezpośrednio, lub z poziomu Windows, konwertując z HEX do DEC przy użyciu kalkulatora Windows).
Code Block |
---|
language | xml |
---|
linenumbers | true |
---|
| <Signing>
<SigningCertificate>
<OneCertificate>
<Issuer>organizationIdentifier=VATPL-5260300517,CN=COPE SZAFIR -Kwalifikowany,O=Krajowa Izba Rozliczeniowa S.A.,C=PL</Issuer>
<Serial>Numer_seryjny _certyfikatu_w_postaci_DEC</Serial>
</OneCertificate>
</SigningCertificate>
</Signing> |
|
Expand |
---|
title | Konfiguracja usługi znakowania czasem |
---|
| Parametry usługi znakowania czasem konfigurowane są w znaczniku <TimeStamping>. Znacznik <TimeStampingCertificate>, analogicznie jak <SigningCertificate>, określa rodzaj certyfikatu używanego do podpisywania żądania oznaczenia czasem. Żądanie znakowania czasem jest podpisywane w celach identyfikacji subskrybenta usługi. Możliwe jest wyłączenie podpisywania żądań znakowania czasem, poprzez ustawienie wartości atrybutu Authorization=”false” znacznika <TimeStamping>. Gwarantowana jest obsługa procesu znakowania czasem dokumentów znacznikiem czasu wydanym przez KIR. W przypadku korzystania z usług znakowania czasem KIR S.A., atrybut Authorization musi mieć wartość domyślną „true”. Znacznik <Host> określa adres usługi znakowania czasem. Ujęcie sekcji <TimeStamping> w komentarz blokuje wykorzystanie usługi. Code Block |
---|
language | xml |
---|
linenumbers | true |
---|
| <TimeStamping Authorisation="true">
<TimeStampingCertificate>
<AnyCertificate />
</TimeStampingCertificate>
<!-- KIR Szafir TSA -->
<Host>http://www.ts.kir.com.pl/HttpTspServer</Host>
<!-- Certum Public QLTS -->
<!-- <Host>http://public-qlts.certum.pl</Host> -->
<!-- CUZ Sigillum QTSA1 -->
<!-- <Host>http://tsa.sigillum.pl</Host> -->
</TimeStamping> |
|
Expand |
---|
title | Konfiguracja dostawców kryptografii |
---|
| Konfiguracja dostawców kryptografii odbywa się w sekcji znacznika <CryptoProviders>. Komunikacja z urządzeniami kryptograficznymi (karta kryptograficzna lub moduł kryptograficzny HSM) odbywa się z wykorzystaniem interfejsu PKCS#11 i stosuje się znacznik <HardwareProvider>. W istniejącej konfiguracji settings_cryptoproviders domyślnie zdefiniowany jest sprzętowy dostawca kryptografii do obsługi kart kryptograficznych CryptoTech Carbon, CryptoTech Graphite oraz CryptoTech CloudSigner: Code Block |
---|
language | xml |
---|
linenumbers | true |
---|
| <CryptoProviders>
<!-- PKCS11 KIR Carbon -->
<HardwareProvider>
<Name>PKCS#11 Type A</Name>
<URI>CCP11s.dll</URI>
</HardwareProvider>
<!-- PKCS11 KIR Graphite -->
<HardwareProvider>
<Name>PKCS#11 Type A</Name>
<URI>CCGraphitep11.dll</URI>
</HardwareProvider>
<!-- PKCS11 KIR mSzafir -->
<HardwareProvider>
<Name>PKCS#11 Type A</Name>
<URI>file:///c:/Program%20Files/CryptoTech/CryptoCard/CloudSignerP1164.dll</URI>
</HardwareProvider>
<HardwareProvider>
<Name>PKCS#11 Type A</Name>
<URI>file:///c:/Program%20Files%20(x86)/CryptoTech/CryptoCard/CloudSignerP11.dll</URI>
</HardwareProvider>
</CryptoProviders> |
Możliwe jest używanie wielu różnych dostawców kryptografii poprzez wskazanie wielu znaczników <HardwareProvider>. Standard kryptografii klucza publicznego PKCS#12 pozwala na użycie plików w formacie .p12 lub .pfx, które przechowują klucz prywatny i certyfikaty. Definicja tego wariantu odbywa się przy pomocy znacznika <SoftwareProvider>. Code Block |
---|
language | xml |
---|
linenumbers | true |
---|
| <CryptoProviders>
<SoftwareProvider>
<Name>PKCS#12</Name>
<URI>file:///c:/example.p12</URI>
</SoftwareProvider>
</CryptoProviders> |
Elementy URI dostawców kryptografii muszą zawierać wpisy zgodne ze standardem URI. Obecnie dla dostawców kryptografii wspierane są URI wskazujące na pliki lokalne (file:///) oraz zasoby sieciowe (http:// i https://). Możliwe jest używanie URI względnych, należy jednak pamiętać, aby biblioteki umieścić w ścieżce widocznej pod System.getProperty(„java.library.path”) maszyny wirtualnej Java. Dla biblioteki w standardzie PKCS#12 alternatywną formą do podania ścieżki URI jest podanie całego pliku w postaci zakodowanej w Base64. Code Block |
---|
language | xml |
---|
linenumbers | true |
---|
| <SoftwareProvider>
<Name>PKCS#12</Name>
<Base64Binary>JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRs</Base64Binary>
</SoftwareProvider> |
|
Expand |
---|
title | Wykorzystanie certyfikatów kwalifikowanych w innym trybie działania niż natywne okno Szafir |
---|
| Komponenty Szafir SDK domyślnie nie pozwalają na wykorzystanie certyfikatów kwalifikowanych w trybie działania innym niż natywne okno Szafir. Niemniej jednak jeśli Integrator chce zaimplementować własny sposób prezentacji danych, może wykorzystać certyfikaty kwalifikowane używając inny tryb działania niż okno Szafir poprzez następujące ustawienie w pliku znacznika <AllowNonWindowForQC>. Code Block |
---|
language | xml |
---|
linenumbers | true |
---|
| <Settings>
…
<Algorithms>……..</Algorithms>
<AllowNonWindowForQC>true</AllowNonWindowForQC>
</Settings> |
|
|
Panel |
---|
title | Plik z domyślną konfiguracją certyfikatu do pobrania |
---|
| View file |
---|
name | settings_cryptoproviders.xml |
---|
height | 250 |
---|
|
|
Panel |
---|
| Instalacja wtyczki w systemie skutkuje utworzeniem dwóch parametrów systemowych w kategorii Plus eSignature. Nazwa parametru | Opis |
---|
MaximumNumberOfFiles | Określa maksymalną, dopuszczalną liczbę plików przekazanych do podpisania przez moduł Szafir w ramach jednego wywołania mechanizmu Szafir Web Module. | MaximumSizeOfFiles | Określa maksymalny, dopuszczalny rozmiar plików przekazanych do podpisania przez moduł Szafir w ramach jednego wywołania mechanizmu Szafir Web Module. Rozmiar plików jest określany w jednostce MB. |
|
Panel |
---|
| Wersja podpisu | Opis |
---|
BES | Wariant zawierający tylko podpis, używany do dokumentów o krótkoterminowej ważności. Po wygaśnięciu certyfikatu, którym dokument został podpisany, możliwa jest weryfikacja kryptograficzna dokumentu, ale może nie być możliwości weryfikacji ważności certyfikatu podpisującego. Weryfikacja podpisu jest możliwa na czas bieżący - wówczas jeżeli certyfikat wygasł weryfikacja będzie negatywna, lub na czas wskazany przez użytkownika – wówczas wynik weryfikacji będzie zależny od tego jaki był status ważności certyfikatu w danym czasie. Z wariantem BES, zgodne są następujące formaty wspierane przez Szafir SDK: - XAdES-BES,
- EPO-XAdES-BES
- CAdES-BES,
- PKCS#7,
- PAdES-BES
- ASIC-S-XAdES-BES
- ASIC-S-CAdES-BES
| T | Wariant BES zawierający dodatkowo znacznik czasu, stanowiący wartość dowodową, że dany podpis oraz certyfikat podpisujący istniał lub był ważny w danym momencie czasu. Ważność podpisu w wariancie T, determinowana jest ważnością certyfikatu urzędu znakowania czasem. Z wariantem T zgodne są następujące formaty wspierane przez Szafir SDK: - XAdES-T,
- EPO-XAdES-T
- CAdES-T,
- PKCS#7-T,
- PKCS#7 with Time
- PAdES-T
- ASIC-S-XAdES-T
- ASIC-S-CAdES-T
| LTV/A | Podpis w tym wariancie zawiera znacznik czasu podpisu, pełny zestaw certyfikatów z kompletnej ścieżkę certyfikacji, listy CRL/odpowiedzi OCSP, poświadczające ważność certyfikatu podpisującego oraz dodatkowe oznaczenie czasem wszystkich tych elementów. Wariant ten używany jest do podpisów o długoterminowej ważności, mających stanowić długotrwałą wartość dowodową. Podpisy w tym wariancie należy systematycznie odświeżać przez końcem okresu ważności certyfikatu urzędu znakowania czasem poprzez kolejne oznaczanie czasem, wywołując proces weryfikacji z użyciem formatów REFRESH. Z wariantem LTV/A, zgodne są następujące formaty wspierane przez Szafir SDK: - XAdES-A,
- EPO-XAdES-A
- PAdES-LTV
- PAdES-LTV-REFRESH
- XAdES-A-REFRESH
- EPO-XAdES-A-REFRESH
|
|
Panel |
---|
| Format podpisu | Opis |
---|
CAdES | Zdefiniowany standardem ETSI TS 101 733, powstały na bazie formatu PKCS7/CMS. Pliki tego formatu mają postać binarną. | XAdES | Zdefiniowany standardem ETSI TS 101 903, powstały na bazie formatu XML/XMLDSig. Pliki zapisane w formacie XAdES są plikami XML. | PAdES | Zdefiniowany standardem ETSI TS 102 778, pozwalający na zapis podpisu w pliku PDF, w taki sposób, że możliwe jest otwarcie danego pliku PDF w programie Adobe Reader oraz weryfikacja integralności podpisanego dokumentu. | ASIC | Zdefiniowany standardem ETSI TS 102 918. Pliki ASIC stanowią kontenery na dane i podpisy. Mają one strukturę plików ZIP. |
|
|