Firma automatica
La firma automatica si può realizzare avendo a disposizione due tipologie di certificati:
- certificato automatico
- sigillo
Flusso
Recupero certificati
Per firmare occorre richiedere un certificato di firma AUTO o SEAL, in stato READY e con pin non bloccato per un dato titolare. Per farlo si usa il seguente servizio
| INFO | VALUE | NOTES |
|---|---|---|
| METHOD | GET | |
| URL | "$baseUrl/api/v1/certificate" | |
| QUERY PARAM | ownerAlias | Obbligatorio, indica l'alias del titolare del certificato |
| QUERY PARAM | page | Non obbligatorio, pagina di interesse. Def 0 |
| QUERY PARAM | size | Non obbligatorio, dimensione della pagina. Def 20 |
| QUERY PARAM | sort | Non obbligatorio, indica il sorting desiderato. Es. sort=id,desc |
| QUERY PARAM | withPem | Non obbligatorio, flag per indicare se ritornare anche il PEM del certificato |
| QUERY PARAM | status | Non obbligatorio, indica lo stato desiderato. Valori possibili READY, SUSPENDED, REVOKED |
| QUERY PARAM | pinBlocked | Non obbligatorio, flag per indicare se ritornare i certificati con pin bloccato o meno |
| QUERY PARAM | profiles | Non obbligatorio, indica i profili desiderati. Valori possibili AUTO, SEAL, ONESHOT, FEQ |
Esempio chiamata
curl --location 'https://ca-test.teamsystem.cloud/api/v1/certificate?ownerAlias=TINIT-MRNNTN78E12G751H&profiles=AUTO%2CSEAL&status=READY&withPem=true&pinBlocked=false&size=10&page=0&sort=id%2Cdesc' \
--header 'Authorization: ••••••'
Esempio risposta
{
"content": [
{
"alias": "1219482",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "20d393208e97a1be",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJDzC.....XSAaIEA==",
"validFrom": "2025-10-21T00:05:00Z",
"validTo": "2028-10-20T18:05:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
},
{
"alias": "1217425",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "4a8fa97930270896",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJDzC.....dcZVg==",
"validFrom": "2025-10-19T00:04:00Z",
"validTo": "2028-10-18T18:04:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
},
{
"alias": "1214449",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "560a1c4192242768",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJD....3NL6JBUg==",
"validFrom": "2025-10-17T00:04:00Z",
"validTo": "2028-10-16T18:04:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
},
{
"alias": "1211013",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "6b1288ce453ade07",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJDzC.....yNAVA==",
"validFrom": "2025-10-15T00:04:00Z",
"validTo": "2028-10-14T18:04:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
},
{
"alias": "1210086",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "470bcf3ed03bec22",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJ....xywY1X/A==",
"validFrom": "2025-10-14T13:13:00Z",
"validTo": "2028-10-14T07:13:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
},
{
"alias": "1210045",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "7d2bfc1f93f0d5dd",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJDzC....dIvxw==",
"validFrom": "2025-10-14T13:08:00Z",
"validTo": "2028-10-14T07:08:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
},
{
"alias": "1207206",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "34dbf18da1151107",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJDzC.....omw==",
"validFrom": "2025-10-13T00:04:00Z",
"validTo": "2028-10-12T18:04:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
},
{
"alias": "1205278",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "5538ad0f4e1606ce",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJDzC.....vuTuwXY4tiFT6XTgQ==",
"validFrom": "2025-10-11T00:04:00Z",
"validTo": "2028-10-10T18:04:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
},
{
"alias": "1202633",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "4aa9ba6fbeefa60a",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJD.....LTCI4nYQTiD0f5xGLYybWsrNgxfXas7fw81mbSUkYrLuLJ9/ew==",
"validFrom": "2025-10-09T00:04:00Z",
"validTo": "2028-10-08T18:04:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
},
{
"alias": "1198786",
"profile": {
"type": "AUTO",
"identificationProcess": "CIE"
},
"serialNumber": "7ce4acd7b7dac309",
"customerName": "K6 Customer 01",
"phoneNumber": "+393452495944",
"email": "a.mariano@teamsystem.com",
"enabled": true,
"status": "READY",
"pem": "MIIJDz.....PdQ==",
"validFrom": "2025-10-07T00:04:00Z",
"validTo": "2028-10-06T18:04:00Z",
"owner": {
"identityType": "PF",
"alias": "TINIT-MRNNTN78E12G751H",
"firstName": "Antonio",
"lastName": "Mariano"
},
"hasPin": true,
"pinBlocked": false,
"signatureProcesses": []
}
],
"number": 0,
"numberOfElements": 10,
"totalElements": 88,
"totalPages": 9
}
Firma
Una volta otteneuto il certificato da utilizzare, si può procedere con la firma.
| INFO | VALUE | NOTES |
|---|---|---|
| METHOD | POST | |
| URL | "$baseUrl/api/v1/signature/auto/$aliasTitolare" | |
| PATH PARAM | aliasTitolare | Obbligatorio, indica l'alias del titolare del certificato |
Gli hash firmati saranno restituiti nello stesso ordine di come sono stati forniti in input.
Esempio chiamata
curl --location 'https://ca-test.teamsystem.cloud/api/v1/signature/auto/PASAL-BB1111111' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
"certificate": {
"alias": "993940", //alias del certificato da utilizzare. Se non presente il sistema utilizzerà il più recente
"pin": "11223344" //pin del certificato
},
"hashes": [ //hash da firmare
"myMXwslBoXkTDQ0olhq1QsiHRWWL4yj1V0IuoK+PYOg=",
"myMXwslBoXkTDQ0olhq1QsiHRWWL4yj1V0IuoK+PYOg="
]
}'
Esempio risposta
{
"hashes": [
"ZrPwGF0ZxDPj4s1hZCcya5HR0V33ymepY8y0dMr4oiK1sUZusWdLjaJY6J0oCWxuiGWJQsttofgZEV9bHXjet/OWjc3Uq+ee6U6YuvSsTqAer1LF7PzCCpEoR1+4z7hlriuD6bTo1fbUpQ+SrxBJQCcqK0tDZ6ihbyL8A3FDavvAHMw6mNSnsOGf8mG7xg6x20tI94C3bOEjq4i+ucjSDY1euMTIVglmj7EB6f9dG0Ox4Gb0vZghBt7GWRBpC5aWGOPZVh8xm840/RmnpIcRZEJL0kvf18M/TfP7izK+XDgyK2Hba0GrCmT4j18llQkCmS0jimU/73abmAicToI7SQ==",
"ZrPwGF0ZxDPj4s1hZCcya5HR0V33ymepY8y0dMr4oiK1sUZusWdLjaJY6J0oCWxuiGWJQsttofgZEV9bHXjet/OWjc3Uq+ee6U6YuvSsTqAer1LF7PzCCpEoR1+4z7hlriuD6bTo1fbUpQ+SrxBJQCcqK0tDZ6ihbyL8A3FDavvAHMw6mNSnsOGf8mG7xg6x20tI94C3bOEjq4i+ucjSDY1euMTIVglmj7EB6f9dG0Ox4Gb0vZghBt7GWRBpC5aWGOPZVh8xm840/RmnpIcRZEJL0kvf18M/TfP7izK+XDgyK2Hba0GrCmT4j18llQkCmS0jimU/73abmAicToI7SQ=="
]
}