Vai al contenuto

Namirial Sign API Service (2.0.0)

Namirial Sign: API Service

API Service è un servizio locale che espone un insieme di API utilizzate per la firma, l'autenticazione e il recupero delle informazioni di base sui certificati locali/di sistema, consentendo l'utilizzo di tali funzionalità da parte di applicazioni di terze parti.

Configurazione della porta

API Service si mette in ascolto su una porta configurabile nelle impostazioni di Namirial Sign. La porta predefinita è 11543. Una volta configurata la porta, qualsiasi applicazione di terze parti dovrà essere configurata per inviare richieste a tale porta.

Scarica la descrizione OpenAPI
Lingue
Server
Endpoint locale predefinito di API Service
https://127.0.0.1:11543

Service

Endpoint per stato e ciclo di vita del servizio

Operazioni

Card

Informazioni sulla smart card e sul titolare

Operazioni

Certificates

Individuazione e reportistica dei certificati

Operazioni

Signing

Endpoint per firma di file remoti, upload e hash

Operazioni

Firma un file remoto

Richiesta

Firma un file remoto in base ai parametri richiesti. Viene utilizzato il primo certificato di firma rilevato.

Query
pinstringobbligatorio

PIN del dispositivo.

urlstring(uri)obbligatorio

URL del file da firmare.

typestring(SignatureType)obbligatorio

Tipo di firma.

Enum"cades""pades""xades"
resultstring(SignUrlResultType)obbligatorio

Come ottenere l'output.

Enum"link""base64""upload"
filenamestring or null
pkcs11string or null(Pkcs11Source)

Sorgente del certificato. Usa pkcs11 per i dispositivi fisici e system per i certificati di sistema.

Predefinito "pkcs11"
Enum"pkcs11""system"
uploadUrlstring or null(uri)

Richiesto quando result=upload, rappresenta dove eseguire l'upload.

signerNamestring or null

Per firma grafica, nome del firmatarioe.

pageinteger or null

Per firma grafica, pagina su cui apporre la firma.

xnumber or null

Per firma grafica, posizione orizzontale.

ynumber or null

Per firma grafica, posizione verticale.

wnumber or null

Per firma grafica, larghezza della firma.

hnumber or null

Per firma grafica, altezza della firma.

imageUrlstring or null(uri)

Per firma grafica, immagine da usare.

tsaUrlstring or null(uri)

Per aggiungere una marca temporale, url del servizio di marca temporale.

tsaUsernamestring or null

Per aggiungere una marca temporale, username.

tsaPasswordstring or null(password)

Per aggiungere una marca temporale, password.

curl -i -X GET \
  'https://127.0.0.1:11543/signUrl?pin=string&url=http%3A%2F%2Fexample.com&type=cades&result=link&filename=string&pkcs11=pkcs11&uploadUrl=http%3A%2F%2Fexample.com&signerName=string&page=0&x=0&y=0&w=0&h=0&imageUrl=http%3A%2F%2Fexample.com&tsaUrl=http%3A%2F%2Fexample.com&tsaUsername=string&tsaPassword=pa%24%24word'

Risposte

Risultato del file firmato.

Corpoapplication/json
signedstringobbligatorio
Risposta
application/json
{ "signed": "MIMByzUG..." }

Firma un file remoto

Richiesta

Firma un file remoto in base ai parametri richiesti. Viene utilizzato il primo certificato di firma rilevato.

Query
pinstringobbligatorio

PIN del dispositivo.

urlstring(uri)obbligatorio

URL del file da firmare.

typestring(SignatureType)obbligatorio

Tipo di firma.

Enum"cades""pades""xades"
resultstring(SignUrlResultType)obbligatorio

Come ottenere l'output.

Enum"link""base64""upload"
filenamestring or null
pkcs11string or null(Pkcs11Source)

Sorgente del certificato. Usa pkcs11 per i dispositivi fisici e system per i certificati di sistema.

Predefinito "pkcs11"
Enum"pkcs11""system"
uploadUrlstring or null(uri)

Richiesto quando result=upload, rappresenta dove eseguire l'upload.

signerNamestring or null

Per firma grafica, nome del firmatarioe.

pageinteger or null

Per firma grafica, pagina su cui apporre la firma.

xnumber or null

Per firma grafica, posizione orizzontale.

ynumber or null

Per firma grafica, posizione verticale.

wnumber or null

Per firma grafica, larghezza della firma.

hnumber or null

Per firma grafica, altezza della firma.

imageUrlstring or null(uri)

Per firma grafica, immagine da usare.

tsaUrlstring or null(uri)

Per aggiungere una marca temporale, url del servizio di marca temporale.

tsaUsernamestring or null

Per aggiungere una marca temporale, username.

tsaPasswordstring or null(password)

Per aggiungere una marca temporale, password.

curl -i -X POST \
  'https://127.0.0.1:11543/signUrl?pin=string&url=http%3A%2F%2Fexample.com&type=cades&result=link&filename=string&pkcs11=pkcs11&uploadUrl=http%3A%2F%2Fexample.com&signerName=string&page=0&x=0&y=0&w=0&h=0&imageUrl=http%3A%2F%2Fexample.com&tsaUrl=http%3A%2F%2Fexample.com&tsaUsername=string&tsaPassword=pa%24%24word'

Risposte

Risultato del file firmato.

Corpoapplication/json
signedstringobbligatorio
Risposta
application/json
{ "signed": "MIMByzUG..." }

Firma un digest Base64

Richiesta

Firma un digest Base64 e apre una finestra per l'inserimento del PIN.

Corpoapplication/jsonobbligatorio
HashValueBase64stringobbligatorio

Base64 digest da firmare.

Thumbprintstringobbligatorio

Thumbprint del certificato da usare.

HashAlgorithmstringobbligatorio
Esempio: "sha256"
Pkcs11string or null(Pkcs11Source)
Predefinito "pkcs11"
Enum"pkcs11""system"
Textsobject or null(PinModalTexts)
curl -i -X POST \
  https://127.0.0.1:11543/signHash \
  -H 'Content-Type: application/json' \
  -d '{
    "HashValueBase64": "VGhpcyBpcyBhIHRlc3Qgc3RyaW5nLg==",
    "Thumbprint": "fcc3b7d22482973174bf326285ecf825c5e927d469acf1fc85e5dfb805876e1c",
    "HashAlgorithm": "sha256",
    "Pkcs11": "pkcs11",
    "Texts": {
      "Title": "Insert PIN",
      "Message": "PIN",
      "Buttons": {
        "Confirm": "OK",
        "Cancel": "Cancel"
      },
      "Errors": {
        "WrongPin": "Wrong PIN",
        "PinLocked": "PIN Locked"
      }
    }
  }'

Risposte

Risultato della firma dell'hash.

Corpoapplication/json
Resultstringobbligatorio
Errorstringobbligatorio
Successbooleanobbligatorio
Risposta
application/json
{ "Result": "T99WvOXO4sokSwfp6GVq9fWLGvbY5mF4WgqOJp0zRBSZWSfBpJ1OPl8O/AALaqAA748u7grrDNa35oad6B6TbRZ8/rp+nN1gqwKCs6Om5LPye9XXaC4APnaqPK95wRXmBJ0n/c9aGNr3HIkhDSZ8TLXj5cR72fU3ka7EsJAQl+Z/i+tV1fcnBQpjtRib7RyMQApBh+VJ0qmA73Hh5eD489/4aXR6lefqK8kUsX7o2CdPC2oIQRE4m8jpB+7IR9Zlv/00SYlE/xiAh9YxxsY4UwIFhJBaI8LRFUSpAgLvHgD6l6s+nQcxagGRFGovXF55m/GXn5wJfNohJuvPR9trZQ==", "Error": "", "Success": true }

Firma un file caricato

Richiesta

Firma un file e apre una finestra di inserimento PIN se il PIN non viene fornito.

Corpomultipart/form-dataobbligatorio
pinstring or null

Se assente, apparirà una modale per l'inserimento del PIN.

sign_typestring(SignatureType)obbligatorio
Enum"cades""pades""xades"
res_typestring(SignFileResultType)obbligatorio
Valore"base64"
filenamestring or null
input_filestring(binary)obbligatorio
pkcs11string or null(Pkcs11Source)
Predefinito "pkcs11"
Enum"pkcs11""system"
tsaUrlstring or null(uri)
tsaUsernamestring or null
tsaPasswordstring or null(password)
curl -i -X POST \
  https://127.0.0.1:11543/signFile \
  -H 'Content-Type: multipart/form-data' \
  -F pin=string \
  -F sign_type=cades \
  -F res_type=base64 \
  -F filename=string \
  -F input_file=string \
  -F pkcs11=pkcs11 \
  -F tsaUrl=http://example.com \
  -F tsaUsername=string \
  -F 'tsaPassword=pa$$word'

Risposte

Risultato del file firmato.

Corpoapplication/json
resultstringobbligatorio
Risposta
application/json
{ "result": "MIMByzUG..." }