# Namirial Sign API Service

**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.


Version: 2.0.0

## Servers

Endpoint locale predefinito di API Service
```
https://127.0.0.1:11543
```

## Download OpenAPI description

[Namirial Sign API Service](https://docs.namirial.app/_bundle/@l10n/it/products/namirialsign/others/apiservice.yaml)

## Service

Endpoint per stato e ciclo di vita del servizio

### Verifica se API Service è attivo

 - [GET /isUp](https://docs.namirial.app/it/products/namirialsign/others/apiservice/service/isup.md): Restituisce una callback JavaScript contenente la versione di API Service.

### Chiudi la callback di API Service

 - [GET /close](https://docs.namirial.app/it/products/namirialsign/others/apiservice/service/close.md): Restituisce la callback close().

### Ottieni la versione del servizio

 - [GET /version](https://docs.namirial.app/it/products/namirialsign/others/apiservice/service/getversion.md)

### Verifica la connettività Internet

 - [GET /isConnected](https://docs.namirial.app/it/products/namirialsign/others/apiservice/service/isconnected.md)

### Aggiorna le identità

 - [GET /restart](https://docs.namirial.app/it/products/namirialsign/others/apiservice/service/restart.md)

## Card

Informazioni sulla smart card e sul titolare

### Verifica la disponibilità di una smart card o di un lettore

 - [GET /isValidCard](https://docs.namirial.app/it/products/namirialsign/others/apiservice/card/isvalidcard.md): Verifica la presenza di una smart card o di un lettore. Se sono presenti più lettori, viene considerato solamente il primo. Restituisce inoltre lo stato di validità del PIN e del PUK quando disponibile.

### Ottieni i dati del titolare dalla smart card

 - [GET /getCardholder](https://docs.namirial.app/it/products/namirialsign/others/apiservice/card/getcardholder.md): Recupera i dati del titolare dalla smart card. Se sono presenti più smart card, viene considerata solamente la prima.

## Certificates

Individuazione e reportistica dei certificati

### Ricerca dei certificati di firma disponibili

 - [POST /findSigningCertificates](https://docs.namirial.app/it/products/namirialsign/others/apiservice/certificates/findsigningcertificates.md): Restituisce i certificati di firma disponibili. Utilizzare pkcs11=pkcs11 per i certificati presenti sul dispositivo e pkcs11=system per i certificati di sistema.

### Ottieni i certificati presenti sulla smart card

 - [GET /getCertificates](https://docs.namirial.app/it/products/namirialsign/others/apiservice/certificates/getcertificates.md)

### Ottieni il report dei certificati

 - [GET /log](https://docs.namirial.app/it/products/namirialsign/others/apiservice/certificates/getlog.md)

## Signing

Endpoint per firma di file remoti, upload e hash

### Firma un file remoto

 - [GET /signUrl](https://docs.namirial.app/it/products/namirialsign/others/apiservice/signing/signurlget.md): Firma un file remoto in base ai parametri richiesti. Viene utilizzato il primo certificato di firma rilevato.

### Firma un file remoto

 - [POST /signUrl](https://docs.namirial.app/it/products/namirialsign/others/apiservice/signing/signurlpost.md): Firma un file remoto in base ai parametri richiesti. Viene utilizzato il primo certificato di firma rilevato.

### Firma un digest Base64

 - [POST /signHash](https://docs.namirial.app/it/products/namirialsign/others/apiservice/signing/signhash.md): Firma un digest Base64 e apre una finestra per l'inserimento del PIN.

### Firma un file caricato

 - [POST /signFile](https://docs.namirial.app/it/products/namirialsign/others/apiservice/signing/signfile.md): Firma un file e apre una finestra di inserimento PIN se il PIN non viene fornito.

