Firma con strong auth
E' possibile eseguire la firma con strong auth di n hashes sia con token API che con token OWNER.
Per questa tipologia di firma sono utilizzabili solo certificati di tipo FEQ e ONESHOT.
A differenza della firma massiva, la firma con strong auth prevede una serie di chiamate poichè richiede l'apertura di una sessione di firma, l'autenticazione tramite strong auth e poi la possibilità di firmare n hashes, anche con chiamate successive.
Il numero massimo di hashes che si possono firmare in una sessione è definito in configurazione.
Le chiamate per eseguire una firma con strong auth in caso di token API e token OWNER differiscono solo nella prima chiamata.
Apertura sessione di firma
Token API
L'apertura di una sessione con token API, quindi eseguita da un dato cliente, può essere eseguita tramite il servizio:
I dati da fornire sono:
- l'alias dell'owner per cui firmare in path param
{
"certificateAlias": "123",
"strongAuth": "type",
"maxSignatures": n,
"webhook": {
"url": "url"
}
}
dove:
- certificateAlias è il certificato da
utilizzare (deve essere di tipoAUTOoSEAL).utilizzare. Il certificato DEVE essere un certificato che appartiene all'owner indicato E al customer relativo al token. Non è obbligatorio. certificate.pinstrongAuth è il tipo di strong authentication prevista. I valori possibili sono:- SMS_OTP: strong auth tramite otp inviato per sms
In ritorno si ottiene la sessione appena aperta con le seguenti info:
{
"id": "64a19ba4ba848a71caae31d8",
"certificateAlias": "44040",
"signatureTimeout": "PT10M",
"strongAuthTimeout": "PT5M",
"strongAuth": "SMS_OTP",
"maxSignatures": 20,
"completedSignatures": 0,
"status": {
"value": "OPENED",
"step": null,
"remaining": null
},
"createdAt": "2023-07-02T15:45:40.025663395",
"lastModifiedAt": "2023-07-02T15:45:40.025663395"
}
Token OWNER
L'apertura di una sessione con token ONWER, quindi eseguita da un dato titolare, può essere eseguita tramite il servizio:
I dati da fornire sono:
{
"certificateAlias": "123",
"strongAuth": "type",
"maxSignatures": n,
"webhook": {
"url": "url"
}
}
dove:
In ritorno si ottiene la sessione appena aperta con le seguenti info:
{
"id": "64a19ba4ba848a71caae31d8",
"certificateAlias": "44040",
"signatureTimeout": "PT10M",
"strongAuthTimeout": "PT5M",
"strongAuth": "SMS_OTP",
"maxSignatures": 20,
"completedSignatures": 0,
"status": {
"value": "OPENED",
"step": null,
"remaining": null
},
"createdAt": "2023-07-02T15:45:40.025663395",
"lastModifiedAt": "2023-07-02T15:45:40.025663395"
}
A questo punto si procede in base alla tipologia di strong auth prevista dalla sessione.
Da questo momento in poi, è importante chiamare questo metodo con un token della stessa tipologia di quella usata per l'apertura e con lo stesso customerId in caso di API o owner in caso di OWNER.
1. SMS_OTP
Invio otp
Occorre inviare un OTP tramite il servizio
fornendo in path param l'id di sessione ritornato al punto precedente.
Validazione otp
Occorre validare l'OTP
fornendo in path param l'id di sessione ritornato al punto precedente e l'otp inviato nel body.
2. PHONE_CALL
Avvio chiamata
Occorre avviare la chiamata tramite il servizio
fornendo in path param l'id di sessione ritornato al punto precedente.
Dopo l'avvio della chiamata, i cambi di stato della sessione verranno comunicati all'integratore tramite webhook.
Firma hashes
Una volta completata la strong auth, la sessione si troverà in stato READY, cioè pronta per la firma.
Solo a questo punto sarò possibile chiamare il servizio:
con i seguenti valori:
{
"certificatePin": "12345678",
"hashes": [
"myMXwslBoXkTDQ0olhq1QsiHRWWL4yj1V0IuoK+PYOg="
]
}
Token OWNER
La firma massiva con token OWNER, quindi eseguita da un dato titolare, può essere eseguita tramite il servizio:
I dati da fornire sono:
{
"certificate": {
"alias": "44039",
"pin": "12345678"
},
"hashes": [
"MGUifMonFmJHfa51PKL0jPxuP3bjwSQ13s42GMxQMwk="
]
}dove:
In ritorno si ottiene la lista degli hash firmati.