Název metody: Seal

Popis služby včetně WSDL schématu a příklad požadavku a odpovědi pro SOAP 1.1 a SOAP 1.2 je umístěn na https://localhost/secusign/default.asmx?op=Seal.

Localhost je název používaný pro lokální počítač; namísto něj zvolte jméno/IP adresu SDK serveru (dle nastavení v IIS).

Požadavek v rozhraní SOAP 1.1

POST /secusign/default.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://software602.com/secusign/Seal"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Seal xmlns="http://software602.com/secusign/">
      <FileName>string</FileName>
      <Input>base64Binary</Input>
      <FileType>UNKNOWN or CMSPKCS7 or CMSPKCS7Ext or PDF or XML or XML602FORM or XMLISDOC or ASiC_S_CAdES or ASiC_S_XAdES or ASiC_S_Tst or ASiC_E_CAdES_Tst or ASiC_E_XAdES or MS_WORD or MS_EXCEL or MS_PWR_PNT or ODF</FileType>
      <CertificateID>string</CertificateID>
      <PrivateKeyPIN>string</PrivateKeyPIN>
      <SignatureType>DEFAULT or ENVELOPED or DETACHED or ENCAPSULATE or DETACHED_FROM_HASH</SignatureType>
      <Params>string</Params>
    </Seal>
  </soap:Body>
</soap:Envelope>

Vstupní parametry metody

<FileName>

[povinný element]

Vstup Popis

string

Název vstupního souboru (včetně přípony), který bude opatřen kvalifikovanou elektronickou pečetí.

Příklad: Dokument.pdf.

Max. 260 znaků.

<Input>

[povinný element]

Vstup Popis

Base64Binary

Data vstupního souboru kódovaná v base64.

<FileType>

[povinný element]

Typ podepisovaného dokumentu nebo dat

Vstup

Popis

UNKNOWN

Neznámý typ dokumentu.

CMSPKCS7

Dokument podepsaný interním CMS/PKCS7 podpisem např.: Datové zprávy z Informačního systému datových schránek.

CMSPKCS7Ext

Dokument podepsaný externím CMS/PKCS7 podpisem např.: Datové zprávy z Informačního systému datových schránek.

PDF

PDF dokument.

XML

XML data.

XML602FORM

FO/ZFO formuláře aplikace Software602 Form Filler.

XMLISDOC

XML ISDOC data.

ASiC_S_CAdES

ASiC-Simple s CAdES podpisem.

ASiC_S_XAdES

ASiC-Simple s XAdES podpisem.

ASiC_S_Tst

ASiC-Simple s Timestamp.

ASiC_E_CAdES_Tst

ASiC-Extended s CAdES podpisem nebo s Timestamp.

ASiC_E_XAdES

ASiC-Extended s XAdES podpisem.

MS_WORD

Dokument aplikace MS Word.

MS_EXCEL

Dokument aplikace MS Excel.

MS_PWR_PNT

Dokument aplikace MS Powerpoint.

ODF

OpenDocumentFormat (OpenOffice).

EML

Elektronická mailová zpráva.

Poznámka: Experimentální podpora. V případě zájmu o povolení nás kontaktujte.

<CertificateID>

[nepovinný element]

Vstup Popis

String

Identifikace certifikátu pro vytvoření zaručené/kvalifikované elektronické pečeti nebo zaručeného/kvalifikovaného elektronického podpisu.

V případě in-house rozhraní SecuSign SDK je možné použít formáty:

  • HStore:[alias]

    • alias certifikátu pro podepsání/pečetění z HSM modulu služby Vzdáleného podepisování/pečetění.

    • pokud je v konfiguraci webové služby nastaven konfigurační klíč Seal_DefaultToQStore, prefix HStore se neuvádí

  • PKCS11:[alias]

    • alias certifikátu pro podepsání/pečetění z HSM modulu klienta nebo ze systémového úložiště Windows.

  • QStore:[alias]

    • Pečetí se certifikátem nahraným na účtu klienta v Azure KeyVault.

  • urn:hex:[hexadecimalne_kodovany_sha1_hash_certu]

    • podepsání/pečetění certifikátem ze systémového úložiště Windows pod Current User. Nutné spouštět aplikační pool pod konkrétním uživatelem.

  • urn:sha:[Base64_kodovany_sha1_hash_certu]

    • podepsání/pečetění certifikátem ze systémového úložiště Windows pod Current User. Nutné spouštět aplikační pool pod konkrétním uživatelem.

  • [cesta k PFX]

    • podepsání konkrétním PFX, který je lokálně přístupný pro webovou službu/aplikaci v souboru.

  • prázdný řetězec

    • použije se nastavení SigningCertPath v konfiguraci webové služby SecuSign SDK.

    • pokud je v konfiguraci webové služby nastaven konfigurační klíč Seal_DefaultToQStore, pak se použije výchozí certifikát ze služby Vzdáleného pečetění.

V případě webových služeb SecuSign v Azure je možné použít např. hodnotu z CN nebo SERIALNUMBER – obě informace je možné zjistit v administraci služby SecuSign > Seal po přihlášení do uživatelského rozhraní 602 ID účtu.

Výchozí hodnota: prázdný řetězec.

<PrivateKeyPIN>

[nepovinný element]

Vstup Popis

string

PIN, který byl zvolen žadatelem jako přístupové heslo k privátní části certifikátu.

Hodnota je povinná v případě QStore, PKCS11 a souboru PFX.

V případě použití HStore aliasu záleží, zda se používá pro podepisování nebo pečetění.

Pro podepisování s nastaveným potvrzením pomocí PIN je nutné PrivateKeyPIN uvést.

Pro podepisování s nastaveným potvrzením pomocí 602KEY se PrivateKeyPIN neuvádí.

Pro pečetění není nutné PrivateKeyPIN uvádět, protože přístup k certifikátu je definován na základě autentizačního (licenčního) certifikátu volající aplikace, pokud není zvoleno jinak.

<SignatureType>

[povinný element]

Vstup Popis

enum

Typ elektronického podpisu. Hodnoty:

  • DEFAULT

  • ENVELOPED

  • DETACHED

  • ENCAPSULATE

  • DETACHED_FROM_HASH.

Pro CAdES:

  • Hodnoty DEFAULT a ENCAPSULATE mají stejný význam – podepisovaná data jsou vložena k podpisu.

  • Hodnota DETACHED znamená, že podpis je oddělen do jiného souboru.

  • Hodnota DETACHED_FROM_HASH je stejná jako DETACHED jen s tím rozdílem, že při vytváření je na vstupu pouze hash podepisovaných dat.

Pro XAdES mají jednotlivé hodnoty význam:

  • DEFAULT – podepisovaná data jsou vložena do struktury podpisu.

  • ENVELOPED – podpis je uvnitř podepisovaných dat.

  • DETACHED – podpis je oddělen od dat do samostatného souboru.

Výchozí hodnota: DEFAULT.

<Params>

[nepovinný element]

Vstup Popis

String

Volitelné, obsahuje další parametry pro splnění projektových požadavků, např.:

  • add_timestamp=false – nepřipojení časového razítko k podpisu/pečeti.

  • id_user=string – identifikace uživatele podpisového certifikátu.

Struktura odpovědi na požadavek

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <SealResponse xmlns="http://software602.com/secusign/">
      <SealResult>int</SealResult>
      <Output>base64Binary</Output>
      <StatusMessage>string</StatusMessage>
    </SealResponse>
  </soap:Body>
</soap:Envelope>

Výstupní parametry metody

<SealResult>

Návratová hodnota Popis

Int

Výsledek metody Seal (pečetění/podepsání dokumentu). 0 = v pořádku, jinak Návratové kódy všech metod a chyba popsaná ve StatusMessage.

<Output>

Návratová hodnota Popis

base64Binary

Výstupní data podepsaného/opečetěného dokumentu, nebo externího podpisu/pečeti (v případě FileType=CMSPKCS7Ext), kódovaná v Base64.

<StatusMessage>

Návratová hodnota Popis

string

Textová zpráva odpovídající celkovému výsledku podepsání/pečetění dokumentu. Hodnota je naplněna pouze v případě problematického výsledku.