Vzdálené podepisování
Služba Vzdáleného podepisování (SecuSign) vyžaduje pro svou funkčnost určitá nastavení – ta jsou závislá na zabezpečení služby pro volající aplikace nebo uživatele (podle požadavků zákazníka).
Nové metody
Pro dostupnost metod ListCerts, GetCertificate a SignHash, potřebných pro Vzdálené podepisování, je třeba upravit obsah souboru WebService\Default.asmx tak, že se do hodnoty Class doplní V3 (zvýrazněno tučně):
<%@ WebService Language="C#" CodeBehind="Default.asmx.cs" Class="Software602.SecuSign.TSPWebServiceV3" %>
Identifikace HSM certifikátu (prefix)
Ve výchozím nastavení SecuSign SDK je zapotřebí pro identifikaci HSM certifikátu nastavit ve volání metody Seal prefix HStore:
Příklad:
<CertificateID>HStore:dfa3013e-51c2-6f78-0d1b-e66c22ff815b</CertificateID>
Aby volající nemusel prefix HStore ve volání metody Seal specifikovat, je možné tento nastavit pomocí konfiguračního klíče:
<add key="Seal_DefaultToQStore" value="true"/>
Důvěryhodné prostředí
V důvěryhodném prostředí, kdy služby SecuSign SDK bude využívat důvěryhodná aplikace, např. spisová služba s vlastní databází uživatelů, je možné v konfiguračním souboru webové služby WebService\Web.config
do elementu <appSettings>
nastavit:
<add key="TrustUserID" value="true"/>
V takovém případě se předpokládá, že uživatele již autentizovala (ověřila) volající důvěryhodná aplikace, a webová služba SecuSign tak volající aplikaci důvěřuje předané „ID“ uživatele.
Nutnou podmínkou při opečetění dokumentu pro uživatele s vlastním ID je, aby jeho ID bylo nastaveno již při generování certifikátu Vzdálené pečeti v HSM.
Toto nastavení má vyšší nároky na zabezpečení komunikace mezi volající aplikací a webovou službou SecuSign SDK. Komunikaci je zapotřebí zabezpečit klientským certifikátem (viz AuthCertHash). |
Ověřování uživatelů
V rámci služeb vzdáleného podepisování lze uživatele ověřovat pomocí 602 ID, pomocí Sofa, SSO přihlášením, případně načtením autentizačního certifikátu k TSA serveru.
Ověření uživatelů pomocí 602 ID
Ověření přístupu uživatelů skrze jejich 602 ID účty je výchozím nastavením služby Vzdáleného podepisování.
Pro všechny operace (metody) webových služeb SecuSign, vyjma Seal/SealEx pro Vzdálené pečetění, se definuje pomocí konfiguračního klíče:
<add key="VerifyUsers" value="true" />
Pokud klíč VerifyUsers = true, musí být nastaven klíč VerifyUsersInSofa pro 602ID na hodnotu false.
<add key="VerifyUsersInSofa" value="false" />
Pro časové razítko k podpisu je nutné, aby se uživatel vždy autentizoval svým 602 ID účtem. K tomu slouží výchozí konfigurační klíč:
<add key="VerifyUsersOfTSA" value="true" />
Ověření uživatelů pomocí Sofa
Ověření přístupu uživatelů skrze jejich Sofa účty je výchozím nastavením služby Vzdáleného podepisování.
Pro všechny operace (metody) webových služeb SecuSign, vyjma Seal/SealEx pro Vzdálené pečetění, se definuje pomocí konfiguračního klíče:
<add key="VerifyUsers" value="true" />
Pokud klíč VerifyUsers = true musí být nastaven klíč VerifyUsersInSofa pro Sofa na hodnotu true.
<add key="VerifyUsersInSofa" value="true" />
Pro časové razítko k podpisu je nutné, aby se uživatel vždy autentizoval svým Sofa účtem. K tomu slouží výchozí konfigurační klíč:
<add key="VerifyUsersOfTSA" value="true" />
Ověření uživatelů SSO přihlášením (AD/AAD)
Ověření přístupu na základě SSO přihlášení uživatele v Active Directory, popř. Microsoft Entra, je vedlejším nastavením služby Vzdáleného podepisování.
Pro tento způsob, který je dostupný od verze 2.1.8096.0307, je zapotřebí provést několik úkonů, a to jak na straně klientského SecuSign SDK serveru, tak i na serverové části HSM WS.
Na klientském SecuSign SDK serveru:
-
Ve webové službě SecuSign definuje konfigurační klíč
<add key="VerifySSO" value="true" />
.-
zároveň nesmí být nastaven žádný z konfiguračních klíčů: VerifyUsers, VerifyUsersOfTSA, TrustUserID.
-
-
U aplikace SecuSign ve Správci IIS se povolí Windows autentizace a zároveň zakáže autentizace anonymní.
Ohledně nastavení serverové části HSM WS, kterou zajišťuje operátor HSM Software602 a.s., kontaktujte svého projektového manažera.
Načtení autentizačního certifikátu k TSA serveru
Možnost načtení z osobního úložiště uživatele pro TSA server. Pro zprovoznění této konfigurace je nutné importovat certifikát PDF/P12 pro autentizaci do úložiště uživatele Windows.
V rámci rozšíření byla rozšířena konfigurace o možnost přidat autentizační certifikát z osobního úložiště pomocí klíčů:
-
TSA_CertHash= hodnota otisku
-
TSA_URL = adresa TSA služby
Dále je třeba v IIS nastavit uživatele pro spouštění aplikačního poolu služby v IIS. Poté by mělo být funkční volání podpisu s časovým razítkem z nastaveného serveru.
Ověření funkčnosti
Předpoklady pro ověření funkčnosti:
-
Uživatel se autentizoval k webové službě SecuSign SDK.
-
Identifikátor podpisového certifikátu (CertificateID) byl volající aplikací získán v metodě ListCerts.
-
Heslo k podpisovému certifikátu (PrivateKeyPIN) zadal uživatel a volající aplikace ho předává v metodě Seal / SealEx / SignHash.
Funkčnost webových služeb SecuSign SDK pro službu SecuSign Vzdálené podepisování lze ověřit těmito způsoby:
Pokud není k dispozici vlastní .NET/Java aplikace, lze využít open source projektu (aplikaci) SoapUI.
Po stažení, instalaci a spuštění aplikace SoapUI je třeba přes menu File > New Soap Project vlastní projekt pojmenovat a importovat webové definice služeb (WSDL). Ty lze získat z adresy webové služby SecuSign SDK, např. http://localhost/secusign/default.asmx?wsdl
resp. https://domena/secusign/default.asmx?wsdl
.
Po importu rozklikněte pojmenovaný projekt > TSPWebServiceSoap > metodu Seal.
Do již vytvořeného, nebo nového požadavku (pravé tlačítko na Seal > New request), vložte následující XML:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sec="http://software602.com/secusign/">
<soapenv:Header/>
<soapenv:Body>
<sec:Seal>
<sec:FileName>TestDocument.pdf</sec:FileName>
<sec:Input>Base64Binary</sec:Input>
<sec:FileType>PDF</sec:FileType>
<!--Optional:-->
<sec:CertificateID>dfa3013e-51c2-6f78-0d1b-e66c22ff815b</sec:CertificateID>
<!--Optional:-->
<sec:PrivateKeyPIN>679854<sec:PrivateKeyPIN>
<!--Optional:-->
<sec:SignatureType>DEFAULT</sec:SignatureType>
<!--Optional:-->
<sec:Params/>
</sec:Seal>
</soapenv:Body>
</soapenv:Envelope>
Místo Base64Binary v <sec:Input>…</sec:Input>
přes pravé tlačítko > Insert file as Base64 vložte libovolný PDF soubor z disku.
Pokud ověření funkčnosti služby SecuSign (Vzdáleného podepisování) pomocí výše uvedeného postupu nebylo úspěšné, zkontrolujte tato konfigurační nastavení SecuSign SDK uvedená v následujících čtyřech kapitolách.
Odchozí komunikace
Je povolena odchozí komunikace odpovídající backendové prostředí podle kapitoly Prostupy a prostředí a v případě nutnosti komunikace SecuSign SDK serveru do internetu přes proxy server je provedena konfigurace podle kapitoly Proxy server.
Licenční certifikát
Viz kapitola Licenční certifikát.
Autentizační certifikát
Viz kapitola Autentizační certifikát.
V případě potřeby kontaktujte podporu Software602 a.s. – projektového či obchodního manažera.
Podpis s potvrzením v 602Key
Vzdálený osobní certifikát ve kvalifikovaném prostředku (HSM) služby Vzdáleného podepisování lze vedle zabezpečení heslem zabezpečit ještě druhým faktorem. Tím může být potvrzování přes mobilní aplikaci 602®Key.
Uživatel nastaví způsob potvrzování ve správcovské aplikaci – typicky Sofa.
V případě, že je u certifikátu nastaveno zabezpečení 602Key (hodnota vrácená v parametru AuthMode metody ListCerts2, viz Technická příručka k webovým službám a .NET rozhraní), pak při podepsání certifikátem s tímto zabezpečením je zapotřebí ve volající aplikaci zobrazit dialog, který informuje uživatele o nutnosti potvrzení v mobilní aplikaci 602®Key, a s vhodným timeout (např. 1 minuta) vyčkat na odpověď služby.
Pro zprovoznění potvrzování podpisu pomocí 602Key je potřebné mít v SDK nastavenou adresu webové služby HSM WS v konfiguraci webové služby (WebService\Web.config ) klíčem:
|
-
Produkční prostředí:
<add key="HSM_WS_URL" value="https://rsmint.secusign.cz/default.asmx"/>
-
Testovací prostředí
<add key="HSM_WS_URL" value="https://rsminttest.secusign.cz/default.asmx"/>
Ve zvoleném umístění vytvořit soubor secusign.properties
, který bude obsahovat klíče s URL adresou HSM WS služby a jejího WSDL (na daném prostředí):
-
Produkční prostředí
HSM_WS_URI=https://rsmint.secusign.cz/default.asmx HSM_WS_WSDL_URI=https://rsmint.secusign.cz/default.asmx?WSDL
-
Testovací prostředí
HSM_WS_URI=https://rsminttest.secusign.cz/default.asmx HSM_WS_WSDL_URI=https://rsminttest.secusign.cz/default.asmx?WSDL