I pro podepisování je potřeba mít nainstalovanou aplikaci ProxioTvorbaDokumentu, kterou si stáhněte zde. Tato jedna aplikace je potřeba pro kompletní fungování obou modulů (v klientském prostředí Windows) - hromadné korespondence i podepisování.
Externí systémy PRO ELEKTRONICKÉ podepisování dokumentů
V průbehu let 2018 - 2019 bylo implementováno propojení na externí systém umožňující elektronické podepisování PDF dokumentů. Externí systém má být co možná nejjednodušší a určený pouze k účelu (hromadného) elektronického podepisování.
V rámci CRP projektu byla oslovena firma Marbes Consulting, která na zákazku implementovala tento modul. IS/STAG je připraven případně podporovat i jiné takové moduly, aktuálně ale existuje pouze jedna implementace, která je popsána na této stránce.
Tento modul je těsně spjat s modulem pro tvorbu hromadné korespondence, který je popsán na vedlejší stránce.
Stručný návod pro běžné uživatele je k dispozici na stránce Zákazníci / Elektronické podepisování.
Úvod
Externí aplikace je navržena tak, aby v budoucnu sloužila zákazníkovi jako centrální podepisovací aplikace. Tedy aby nebyla těsně navázána jen na IS/STAG, ale aby byla napojitelná na libovolný systém a libovolné škole.
Z toho plynou některé podmínky, které jsme po dodavateli při vývoji aplikace chtěli:
- Aplikace nebude řešit vlastními prostředky přihlašování a ověřování uživatelů (např. Shibboleth a podobně). Přihlášení zprostředuje klientský systém dané aplikace (např. IS/STAG) přes WS API aplikace, viz dále.
- Aplikace nebude napojená na evidenci uživatelů (např. LDAP, IdM, ...) - bude si pro své účely udržovat svoji databázi, která ale bude dynamicky vznikat tak, jak budou přicházet požadavky z klientských systémů. S uživateli bude aplikace "komunikovat" přes emaily (v rámci obecnosti)
- Poznámka: Nicméně aplikace obsahuje REST API na tvorbu/úpravu uživatelských kont - to mohou zákazníci použít na vlastní způsob řízení identit
- Aplikace je již na několika školách napojena např. na Shibboleth (přihlašování uživatelů) či na IdM (správa uživ. kont v aplikaci)
Prezentace
Následující prezentace obsahují popis fungování celého procesu hromadné tvorby dokumentů a jejich podepisování:
- Prezentace ze semináře CRP 2019 (listopad 2019) - prezentace s nahraným komentářem, zdrojová prezentace.
Obsah
- Obecný popis tohoto propojení, možnosti
- Způsob a podmínky nasazení
- Konfigurace IS/STAG
- Instalace a konfigurace externí aplikace
- Sledování chyb v propojení s externí aplikací
Obecný popis tohoto propojení, možnosti
Propojení IS/STAG a aplikací pro elektronické podepisování je realizováno v následujícím rozsahu:
- IS/STAG slouží jako vstupní bod do externí aplikace
- V portálu na záložce IS/STAG / Reporty je záložka "Elektronické podepisování".
- Jak je popsáno v úvodu, IS/STAG zprostředkovává přihlášení "svých" uživatelů do aplikace. Chce-li tedy uživatel do aplikace, IS/STAG od aplikace (na pozadí přes WS API) získá pro dané uživatelské jméno přihlašovací URL a na to uživatele přesměruje.
- V okamžiku, kdy uživatel vstupuje poprvé do podepisovací aplikace, nakonfiguruje IS/STAG základní nastavení - připraví údaje o uživ. kontu a vyrobí výchozí "podpisové konfigurace", viz. dále kapitola o konfiguraci
- Zasílání dokumentů k podpisu
- Z IS/STAG lze zaslat dokumenty k podpisu prostřednictvím formulářů hromadné korespondence (ve Windows klientovi IS/STAG, formuláře HK0010, HK0020 a HK0030), kde uživatel zaškrtne volbu "Elektronicky podepsat". Dokumenty nejprve projdou modulem hromadné korespondence a poté, co uživatel dávku v tomto modulu dokončí (kliknutím na tlačítko "Dokončit"), dojde k přesunu dokumentů do modulu k podepsání.
- Z IS/STAG lze zasílat dokumenty k podpisu i z nového reportovacího modulu v portálu, funkcionalita je k dispozici zhruba od srpna 2021 ve vývojové verzi aplikace.
- Zároveň lze dokumenty vkládat i ručně přímo přes GUI aplikace firmy Marbes
- Práce v externí aplikaci
- Externí aplikace se zobrazí v novém okně či záložce prohlížeče
- Umožňuje náhled na dávky dokumentů k podepsání a další činnosti - viz popis k aplikaci
- Práce s výslednými PDF dokumenty
- Výsledné dokumenty lze stáhnout ručně z GUI aplikace
- V případě, že jste ve formuláři v IS/STAG zaškrtli, že chcete nechat dokumenty přenést do spisové služby, tak modul po úspěšném podepsání dokáže PDFka zaslat zpět do IS/STAG (a ten je obratem odešle do spisovky jako přílohu k příslušným písemnostem)
- Výsledné PDF dokumenty zůstávají k dispozici v externí aplikaci (dokud dávky neuzavřete nebo nesmažete)
- Dávku lze označit za hotovou - tím dojde k jejímu uzavření. V případě, že chcete takto vygenerované dokumenty nechat poslat rovnou do spisové služby, dojde v tuto chvíli k jejich odeslání do IS/STAG, který je umí následně předat spisovce.
Zjednodušení přístupu k podepisovací aplikaci
Tip: Pokud si na své škole chcete zavést nějakou doménovou adresu určenou k elektronickému podepisování, třeba "https://podpis.SKOLA.cz" a chtěli byste, aby se přes tuto doménu uživatel mohl dostat přímo do portálu IS/STAG do sekce IS/STAG / Reporty / Elektronické podepisování ... a tudíž by ho to ihned přesměrovalo do externí podepisovací aplikace (onen krok přes portál IS/STAG je nutný kvůli přenosu / případně založení uživatelské identity), vytvořte si onu doménu a nechte její server přesměrovávat klienty na následující adresu portálu IS/STAG: https://portal.SKOLA.cz/StagPortletsJSR168/CleanUrl/reports/sign . Takto to má implementováno například JČU.
Způsob a podmínky nasazení
Vývoj vznikl v rámci CRP a tudíž je k dispozici všem zúčastněným školám stejně jako modul hromadné korespondence. V případě zájmu postupujte podle návodu uvedeného na stránce o modulu externí hromadné korespondence.
Konfigurace IS/STAG
Tato kapitola popisuje kroky nutné pro konfiguraci IS/STAG tak, aby byl napojen na systém webové hromadné korespondence.
Spammer - automatické zprávy - pro administrátory IS/STAG
Silně doporučujeme administrátorům, aby si v aplikaci na portálu IS/STAG "Automatické zprávy (spammer)" (sekce IS/STAG) zapnuli odběr zpráv "Přenos dat s jinými systémy - chybová hlášení". Budou jim pak každý den chodit seznamy chyb, které se staly při komunikaci s jinými systémy během uplynulého dne/víkendu. Případné detaily zaslaných informací si pak mohou dohledat v aplikaci na portálu, viz. kapitola o monitoringu propojení s externími systémy.
Parametry IS/STAG
- HK_WEB = "AP" (na úrovni REK). Hodnota "P" znamená právě i ono "Podepisování". Tento parametr nastavit až jako POSLEDNÍ věc konfigurace, tímto parametrem se propojení zapíná!
- HK_MARBES_URL = "https://stag-doc.SKOLA.cz/uni" (na úrovni REK) - Nastavte URL adresu, na které je aplikace od firmy Marbes nasazena. Typicky to bude adresa "https://stag-doc.SKOLA.cz/uni".
- HK_PODPIS_PECET = A / N - v další kapitole je popsána nutná konfigurace externí aplikace, jendou z věcí je i to, zda aplikace je nakonfigurovaná pro použití elektronické pečeti, tj. zda ji vůbec podporuje. IS/STAG potřebuje vědět, zda má o pečeť žádat - nastavení tohoto parametru říká, zda externí aplikace pečetění podporuje.
- HK_PODPIS_CAS_RAZITKO = A / N - ten samý princip jako u pečeti, týká se vkládání časového razítka
- HK_PODPIS_CAS_RAZITKO_PECETI = A / N - ten samý princip jako u pečeti, týká se vkládání časového razítka na pečeť.
Poznámka: škrtnuté parametry v průběhu srpna 2021 nahradily následující číselníky:
Číselníky IS/STAG
Pozor - tato kapitola již byla aktualizována a popisuje stav, který je platný od ledna 2022 pro novou verzi Marbes aplikace vydané právě na začátku roku 2022!
Následující číselníky IS/STAG se týkají elektronického podepisování a defakto říkají studijní agendě, jaké možnosti má škola zprovozněny na straně podepisovací aplikace a jaké možnosti má tudíž nabízet uživatelům v GUI IS/STAG. Podporované možnosti prosím řiďte ve formuláři "Seznam domén" tak, že budete nastavovat PLATNOST těchto záznamů. Vždy nechte prosím platný záznam s klíčem "Z" (žádný / žádná - prostě možnost nezvolit nic). Nezapomeňte, že musí být platná alespoň jedna možnost (kromě Z) u podpisu/pečeti, jinak IS/STAG bere, že podepisování není v systému nakonfigurováno a dokumenty k podpisu nezasílá!
- SPIS_ELEKTRONICKY_PODPIS - číselník říkající, jaké typy el. podpisů externí aplikace podporuje.
- SPIS_ELEKTRONICKA_PECET - číselník říkající, jaké typy el. pečetí externí aplikace podporuje.
- SPIS_ELEKTRONICKE_RAZITKO - číselník říkající, jaké typy razítek externí aplikace podporuje.
V těchto číselnících je dále potřeba nastavit následující atributy (kromě položek s klíčem Z, tam to nemá smysl):
- Pomocná hodnota 2: V ní musí být uvedena jedna ze tří následujících hodnot: "NONE", "GUARANTEED", "QUALIFIED". Tyto hodnoty jsou dále předány přes rozhraní do aplikace Marbes a určují, jaký typ příslušného podepisovacího prostředku má být použit. Úzce to tedy souvisí s konfigurací externí aplikace.
- Pomocná hodnota 3: Podporována u číselníků _PODPIS a _PECET. Slouží k možnosti napevno "přebít" vybrané časové razítko v případě nutnosti. Pokud je v této pomocné hodnotě 3 uvedena nějaká hodnota, která odpovídá existujícími a platnému klíči v doméně SPIS_ELEKTRONICKE_RAZITKO, pak se v případě použití daného podpisu napevno použije časové razítko podpisu uvedené v této pomocné hodnotě 3. To samé v případě použití daného typu pečeti se napevno použije časové razítko pečeti uvedené v této pomocné hodnotě.
Jinými slovy: Potřebujete-li z nějakého důvodu u nějakého typu podpisu (či pečeti) napevno přebít použité časové razítko (tj. změnit to, co si uživatel vybral v GUI), nastavte pomocnou hodnotu 3. - Pořadí - prosím nezapoměňte mít nastavené pořadí, podle pořadí se pak nabízí možnosti uživatelům ve formulářích. Doporučujeme nechat položky "Z" (žádná / žádné) s pořadím 1, aby se nabízely jako první
Konfigurace modulu webových služeb IS/STAG
Stejné jako viz modul externí hromadné korespondence plus následující. V souboru ws-config.properties lze konfigurovat:
# Je-li Marbes aplikace napojena na CESNET HSM modul, musi zde byt uveden format uzivatelskeho ID, ktere aplikace
# do CESNET HSM posila. Toto ID vychazi z uzivatelskeho jmena, ktere je dane parametrem "hk_marbes_hsm_id_username_type"
# a lze k nemu pridat nejaky prefix / postfix. Prikladem mozneho nastaveni je napriklad "{0}@jcu.cz" - namisto {0} aplikace doplni username
hk_marbes_hsm_id_username_type = stag | orion | orion-identifikator | ucitele-identifikator | ucitele-idc
hk_marbes_hsm_id_format = {0}@SKOLA.CZ
# Emailova adresa, ktera na skole funguje jako nejaka "prazdna zumpa", kam lze posilat maily a nic se nestane.
# Marbes aplikace totiz email vyzaduje a my v nekterych pripadech ale nechceme, aby nekomu neco posilala (treba
# pokud dochazi k peceteni dokumentu primo pro studenta, napr. potvrzeni o studiu - prace v Marbes aplikaci pak probiha pod fiktivnim uzviatelem)
hk_marbes_null_email_address = devnull@skola.cz
# Default: false - zda vubec vytvaret podpisove profily uzivatelu. Na skolach, ktere maji napojeno na IDM tohle nechat false
#hk_marbes_alter_sign_user_profiles = false
# Default: true. Rika, zda upravovat uzivatelsky profil uzivatele pokazde, kdyz do externi podepisovaci aplikace leze.
#hk_marbes_always_alter_sign_user_profile = true
# Jak predavat do Marbes aplikace "displayName". Default: PRIJMENI_JMENO_TITULY.
# Moznosti: PRIJMENI_JMENO_TITULY_LOGIN, PRIJMENI_JMENO_TITULY, PRIJMENI_JMENO, JMENO_PRIJMENI_TITULY, JMENO_PRIJMENI
#hk_marbes_display_name_format =
Možnosti položky hk_marbes_hsm_id_username_type popsané detailně, tj. kde se příslušné hodnoty pak berou:
- stag - je to uživatelské jméno toho onoho konkrétního uživatele přímo v databázi IS/STAG. Bere se tedy z tabulky/položky ID_TABLE2.ID_NAME
- orion - je to "orion" uživatelské jméno, tedy to "externí", kterým se na většině velkých škol hlásí např. uživatel do portálu. Typicky je to to username, které píše do Shibbolethu a podobně. Bere se z tabulky/položky ORION_UCITELE.USERNAME
- orion-identifikator - Bere se z tabulky/položky ORION_UCITELE.IDENTIFIKATOR
- ucitele-identifikator - Bere se z tabulky/položky UCITELE.IDENTIFIKATOR
- ucitele-idc - Bere se z tabulky/položky ORION_UCITELE.IDC
Instalace a konfigUrace externí aplikace
POZOR NOVINKA OD ZAČÁTKU ROKU 2022 - O konfiguraci aplikace QSIGN se již zcela a plně starají školy ve spolupráci s dodavatelem - firmou Marbes Consulting - na základě servisní smlouvy. My zde ponecháváme STAROU dokumentaci jen pro úplnost, ale je již zcela bez záruky!
Stejné jako viz modul externí hromadné korespondence plus následující věci:
Konfigurace podepisování
Oficiální dokumentace k aplikace od firmy Marbes bohužel není k dispozici na nějakém stabilním trvalém URL - nicméně po přihlášení do běžící aplikace je v pravém horním rohu "otazníček". Na ten klikněte a dostanete se na web dodavatele do nápovědy k aplikaci. Detailní informace o konfiguraci (ty, které budete v této kapitole potřebovat) tam najdete v sekci "Administrátorská příručka / Instalace a konfigurace serveru".
Podstatné části, které si bude muset nakonfigurovat vždy každý zákazník sám, jsou uvedené na serveru, kde aplikace běží, v souboru /opt/tomcat/PORTAL-data/read-write/marbes/uni/WEB-INF/application.properties. Jde o věci týkající se:
Pečeti
# konfigurace pečeti, předpokládáme PKCS #12
podepisovani.certificate.path=<absolutní cesta k pečeti, např. *.p12, *.pfx>
podepisovani.certificate.password=<heslo k pečeti>
Časových razítek
# konfigurace TSA serveru (časové razítko)
podepisovani.tsa.url=<URL adresa serveru časového razítka>
podepisovani.tsa.account=<login přihlášení k časovému razítku>
podepisovani.tsa.password=<heslo k přihlášení k časovému razítku>
# přihlášení certifikátem k TSA
podepisovani.tsa.certificate.path= <absolutní cesta k certifikátu pro přihlášení k časovému razítku>
podepisovani.tsa.certificate.password= <heslo pro přihlášení k certifikátu>
Napojení na HSM CESNET
# Napojeni na HSM
podepisovani.remsig.api.url=
podepisovani.remsig.login=
podepisovani.remsig.password=
# zapnutí HSM modulu
podepisovani.hsm.enabled=false
Přístupu do administrátorského rozhraní
Aplikace obsahuje zabudovaného uživatele s uživatelským jménem "admin". Jeho emailová adresa a heslo se konfiguruje ve zmíněném konfiguračním souboru application.properties a je uvedeno na řádku:
qsign.admin.mail=ADMIN@SKOLA.cz
qsign.admin.password=NEJAKE_SLOZITE_HESLO
Na toto místo si doplňte email a libovolné heslo a to si prosím zapamatujte (náhodné heslo nastavujeme v okamžiku instalace, není vysloveně nutno jej měnit). Budete jej potřebovat pro přístup do administračního rozhraní aplikace, do kterého je v některých případech nutno vstupovat, viz hned následující kapitola.
Poznámka: Po prvotním nainstalováním (které zařizuje zatím vývojový tým IS/STAG) dáváme standardní konfigurační soubor, v němž máme některé věci již předpřipravené. Například údaje o databázi aplikace, SMTP serveru či hesla pro spojení s IS/STAG. Zbytek (pečetě, razítka, admin přístup) si musí dokonfigurovat administrátoři zákazníka sami, ideálně s pomocí dodavatele firmy Marbes.
Poznámka: Po jakékoliv změně v souboru application.properties je nutno restartovat aplikace nebo celý tomcat, tj. ideálně v linuxu zadejte příkaz "tomcat restart" a počkejte několik minut, než aplikace QSIGN naběhne.
ADMINISTRAČNÍ ROZHRANÍ APLIKACE
Na URL https://stag-doc.SKOLA.cz/uni je k dispozici přihlašovací formulář - zadejte uživ. jméno "admin" a heslo ono nastavené v konfiguračním souboru. Měli byste se dostat do administračního rozhraní - kliknutím vpravo nahoře na odkaz "administrace":
Správa uživatelů podepisovací aplikace
Hlavní věc, kterou bude potřeba spravovat, je seznam uživatelů aplikace - v sekci "Podepisující". Uživatelská konta se v aplikaci pro podepisování objevují třemi možnými způsoby:
- Při zaslání dávky k podpisu z IS/STAG (tedy například z HK0010 a podobně) zasílá IS/STAG do podpisové aplikace informaci o dvou uživatelských kontech. U každého z nich zasílá IS/STAG do aplikace: uživatelské jméno (viz dále), příjmení+jméno, emailová adresa.
- Zadávající uživatel - tedy ten, který práci v IS/STAG inicioval (například studijní referentka)
- Podpisující uživatel - ten, kterého zadávací uživatel určil k podpisu (např. v HK0010)
- Pokud přes portál IS/STAG, sekce Reporty, záložka "Elektronické podepisování" chce do aplikace vstoupit uživatel, který tam ještě nevstoupil
- IS/STAG založí v aplikaci pro uživatele uživatelské konto. Takového uživatele označí k oběma možným rolím - tj. jako zadavatele i jako podpisujícího
- A pro něj založí jednu podpisovou konfiguraci obsahující podpis + pečetění (pokud pečetění není podporováno, tak pouze podpis)
- A pro něj založí případně druhou podpisovou konfiguraci obsahující podpis + pečetění + čas. razítko + čas. razítko pečeti (samozřejmě pokud něco z toho není parametry STAGu HK_PODPIS_xxx zapnuto, tak se nezaloží)
- Ručně administrátorem v administračním rozhraní podpisové aplikace
- Pokud tedy uživatelské konto ještě nebylo použito postupem z předchozího bodu (nabylo nic zasíláno z HK0010 či jiným způsobem přímo z IS/STAG), je třeba, aby administrátor založil uživatelské konto v podepisovací aplikaci ručně. K tomu je třeba vědět, jaká uživatelká jména IS/STAG v podepisovací aplikaci předpokládá - viz dále.
IS/STAG při přenosu informace o uživatelích do podepisovací aplikace používá uživatelské jméno. Protože v IS/STAG může mít uživatel více rolí (a tudíž i více uživatelských jmen) a za účelem podepisování stačí jedno jméno určující osobu jako takovou, jsou dvě možnosti, podle toho, co daná škola používá:
- "ORION / portálová" uživatelská jména - pokud škola používá pro přihlašování do svého portáu IS/STAG uživatelská jména z tabulek "ORION", tj. například přihlašování přes Shibboleth, Active Directory, LDAP, Kerberos a podobně, pak se toto uživatelské jméno použije i při komunikaci do podepisovací aplikace. Uživatelské jméno je pak tudíž v podepisovací aplikaci shodné s portálovým loginem uživatele v IS/STAG. Takové nastavení se používá u všech "větších" zákazníků, tedy u těch, kde se i do portálu přistupuje nějakou "školní" identitou (Shibboleth / MS AD a podobně).
- "STAG" uživatelská jména - bude dořešeno, až se nějaká škola využívající pouze STAG přihlašování objeví se zájmem pro podepisování. Zatím jsou uživatelská jména v tomto případě vytvořena jako řetězec "stag-UCITIDNO", například tedy "stag-17098". UCITIDNO je jednoznačný identifikátor osoby uživatele z tabulky UCITELE.
Na některých instalacích se jeden server, tj. jedna běžící instance podepisovací aplikace používá jednak pro provozní systém IS/STAG i například pro DEMO verzi IS/STAG - je to víceméně z důvodu šetření zdroji - ušetření celého jednoho virtuálního serveru, který by byl delegován pouze pro DEMO verzi systému. Tam je to implementováno tak, že IS/STAG z DEMO instance používá v podepisovací aplikaci uživatelská jména, k nimž přidává nějaký postfix - například "@demo" či "@test". Ve výsledku je pak uživatelské jméno používané v podepisovací aplikaci pro napojení uživatele "valenta" z DEMO IS/STAGu použito "valenta@demo". Od tohoto řešení se ale ustupuje a postupně na všech školách budou k dispozici dva oddělené prostory - jeden "ostrý" a jeden "DEMO".
Poznámka: Předchozí škrtnutý odstavec již neplatí a nedoporučujeme - vytvořte si prosím vždy dvě nezávislé instance serverů - jeden provozní a jeden pro DEMO.
Podepisovací aplikace rozlišuje u uživatele dvě možné role - podepisující a zadávající. Pokud Vám u některého uživatele toto rozdělení nevyhovuje a potřebujete, aby mohl dělat obojí, lze toho dosáhnout úpravou uživatele v administrátorské sekci takto:
Podpora na klientských stanicích
Sledování chyb v propojení s EXTERNím systémem hromadné korespondence
Přečtěte si prosím nejprve informace, které se tohoto tématu týkají obecně - na stránce o propojení s externími systémy. Případné chybové hlášky by měly být k dispozici prostřednictvím aplikace pro správu externích systémů jak je uvedeno za uvedeným odkazem. V každém případě - při problémech s propojením je třeba prostudovat i log soubory modulu webových sluzeb, protože ne všechny detaily a informace se přenášejí zpět do databáze IS/STAG.