Trust Platform Manifest File Format
Guida d'usu
Overview
U manifestu file U furmatu hè pensatu per trasmette l'infurmazioni unica nantu à un gruppu di sottosistemi sicuri, cumprese l'ID unicu (per esempiu, u numeru di serie), chjavi publichi è certificati. Questu hè statu sviluppatu principalmente per Crpy to Authentication™ (attualmente ATECC508A, ATECC608A è ATECC608B) elementi sicuri. Tuttavia, hè strutturatu per travaglià ancu per altri sottosistemi sicuri.
Manifestu files furnisce un modu per ligà un veru dispositivu di sicurezza Microchip Trust à l'ambiente infrastrutturale à quale deve cunnette. Quessi files sò un aspettu criticu di l'ambienti di sviluppu Microchip Trust&GO, Trust FLEX è, eventualmente, Trust CUSTOM. Ch'ella vi cunnessi à una nuvola IoT, una rete LoRaWAN® o, potenzialmente, qualsiasi altra infrastruttura o ambiente, u manifestu file unicu ligami un dispositivu datu à quellu ambiente.
Quandu u travagliu cù i prudutti Microchip Trustor, Trust FLEX o Trust CUSTOM, un manifestu file serà generatu per un gruppu di dispusitivi chì sò furniti per mezu di i servizii di pruvisione Microchip Just-In-Time. Ogni entrata oggettu in u manifestu file hè cunnisciutu com'è un elementu sicuru firmatu è hè firmatu da una chjave privata Microchip Elliptic Curve Cryptography (ECC) per cunvalidà a so autenticità. U manifestu generale hè fattu di parechji elementi sicuri firmati.
L'infurmazione specifica assuciata à u fabricatore, u dispositivu di u produttu sicuru è l'infurmazioni specifiche di u dispusitivu individuale sò tutte parti di l'infurmazioni assuciate cù un elementu sicuru firmatu.
U manifestu file hè dispunibule in modu sicuru solu à u cliente chì cumanda u gruppu di dispusitivi. Accessu à sti manifesti files face parte di u flussu di sviluppu è di pruvisione furnitu da Microchip. Una volta a pruvista hè cumpleta per un gruppu di prudutti, u manifestu file hè dispunibule per scaricà.
Generazione Manifestu
U manifestu di i dispositi Trust FLEX è Trust&GO pò esse generatu in dui scenarii. Unu hè attraversu i servizii di pruvisione Microchip Just-In-Time (generati da Microchip) è u sicondu hè una generazione persunalizata cù i script furniti (autogenerati).
In i dui casi, i dispusitivi Trust & GO, Trust FLEX è Trust CUSTOM anu infurmazioni sfarente per via di differenze in a so cunfigurazione.
I seguenti sezzioni furnisce manifestu file differenze trà:
- Microchip è autogeneratu files
- Signature manifeste - Trust&GO è Trust FLEX files
- Prototipu è dispusitivu di pruduzzione files
1.1 Microchip versus Self-Generated Files
U manifestu file formatu è prucedure di generazione sò infurmazione publica; dunque, ponu esse generati da l'utilizatori.
A causa di sta natura è quandu e prucedure sò seguite, ci saranu sempre differenze minori trà Microchip è autogenerati. files.
Signature manifeste
In u manifestu file, ogni elementu hè firmatu per assicurà l'integrità di u cuntenutu. Per un manifestu generatu da Microchip file, l'operazione di firma hè realizata da Microchip utilizendu a so Autorità di Certificazione (CA). U certificatu CA currispundente pò esse scaricatu da u Microchip websitu. Stu certificatu pò esse usatu per cunvalidà l'autenticità di u Microchip generatu files.
![]()
Cunsigliu:
- MCHP Manifest Signer Certificates (sottu a tabulazione Documentazione)
- Ligame direttu à Scaricatu
Per un manifestu autogeneratu file, ùn hè micca pussibule di ottene ogni elementu firmatu da Microchip CA, postu chì l'utilizatori ùn anu micca accessu à una chjave privata CA. Hè necessariu generà / aduprà una CA locale per eseguisce l'operazione di firma. In questu casu, l'utilizatori devenu sparte u certificatu di validazione cù u manifestu file à l'altri. Questu li permette di cunvalidà u cuntenutu prima di usà più.
L'altri differenzi includenu:
- Trust&GO - U cuntenutu resta u listessu, postu chì i dati di u dispositivu sò immutabili, ma i certificati di firma è di verificazione sò diffirenti, postu chì i scripts autogenerati utilizanu a so propria CA.
- Fiducia in FLEX
a. I certificati di u dispositivu è di u firmante ponu esse sfarenti se PKI persunalizata hè sceltu durante a generazione di risorse.
b. Slots 1-4, 13-15 varianu basatu annantu à generazioni chjave supplementari cum'è parte di a generazione di risorse in u locu di l'utilizatore.
c. I certificati di firma è di verificazione sò diffirenti, postu chì i scripts autogenerati utilizanu a so propria CA.
1.2 Trust&GO vs Trust FLEX vs Trust CUSTOM Files
U manifestu files cuntene solu infurmazione publica di u dispusitivu, cum'è u so numeru seriale, certificati è infurmazione publica di slots. Sicondu e differenze di cunfigurazione, l'infurmazioni in Trust&GO, Trust FLEX è Trust CUSTOM files varieghja cusì:
| Trust & GO | Fiducia in FLEX | Trust CUSTOM |
| • Slot 0 infurmazione chjave publica (immutable) • Dispositivi è certificati firmati firmati da Microchip CA (immutable) |
• Slot 0 infurmazione chjave publica (immutable) • Dispositivi è certificati firmati firmati da Microchip o CA di u cliente basatu nantu à a selezzione PKI persunalizata • Slot 1-4 infurmazione chjave publica • Slot 13-15 infurmazione chjave publica |
• infurmazione Custom per via di cunfigurazione unica |
Slot per certificati in i dispositivi Trust FLEX
Quandu l'utilizatore sceglie di creà una catena di certificati persunalizati nantu à u dispusitivu Trust FLEX, i certificati furniti in fabbrica seranu sovrascritti. I scripts / notebook di Trust Platform Design Suite permettenu à l'utente di fà una copia di salvezza di i certificati predeterminati in un cartulare locale prima di sovrascrive i certificati persunalizati in u dispusitivu. In ogni casu, se u bordu cambia di manu dopu a pruvisione, u novu utilizatore ùn hà micca i certificati di back-up è ùn puderà micca turnà à u default di fabbrica.
1.3 Prototipu versus Dispositivu di Produzione Files
I dispusitivi prototipi sò destinati à esse utilizati in-house per R & D; dunque, sti dispusitivi ùn vene cun un manifestu file generatu in a fabbrica. Tuttavia, sti dispusitivi averà a chjave Slot 0 generata inseme cù i certificati di u dispositivu è di i firmatarii generati durante a pruvista di fabbrica. Hè necessariu di autogenerare u manifestu files per i prototipi di dispositivi Trust&GO è Trust FLEX.
U Trust Platform Design Suite furnisce i scripts / strumenti necessarii per autogenerare u manifestu files.
![]()
Cunsigliu:
- Scripts di generazione di manifesti Trust&GO
- Fiducia i script di generazione di manifesti FLEX (cù a generazione di chjave dev)
Per i dispositi di produzzione, l'utilizatori ponu sempre scaricà u manifestu file da u portale DIRECT microchip sottu u so login persunale. Quessi files sò dispunibuli solu dopu chì i dispositi sò furniti è spediti à u cliente.
Figura 1-1. Microchip DIRECT Manifest Portal
Struttura è Formatu di un Manifestu File
2.1 Introduzione
U furmatu di basa hè un array di oggetti JavaScript Object Notation (JSON). Ogni ughjettu rapprisenta un unicu elementu sicuru è hè firmatu per permette a verificazione criptografica di e so origini. U furmatu hè intenzionalmente "appiattatu" cù l'infurmazioni cumuni ripetuti per ogni elementu sicuru. Questu hè di facilità u processamentu parallelu di manifesti è di permette a splitting of entry in manifesti più chjuchi, induve apprupriatu.
Stu formatu face usu di l'inseme di standard di firmamentu è crittografia d'oggetti JavaScript (JOSE) per rapprisintà e chjave (JSON). Web Chjave - JWK), certificati (membru x5c in un JWK) è furnisce a firma (JSON Web Firma - JWS). In e definizione di l'ughjettu, i valori di i membri pò esse u nome di un altru oggettu JSON o solu un exampu valore.
2.2 Codificazione binaria
JSON ùn hà micca formatu di dati binari nativu, cusì un numeru di codificazioni di stringa sò usati per rapprisintà dati binari secondu u cuntestu.
BASE 64URL
Questa hè una codificazione base64 cù a URL-alfabetu sicuru, cum'è deskrittu in RFC 4648 sezione 5, cù i caratteri di padding finale ("=") spogliati.
Questa hè a codificazione utilizata da i normi JOSE è si trova in l'uggetti JWS, JWK è JWE utilizati. Questu hè documentatu in RFC 7515 sezione 2.
Questa codificazione hè ancu aduprata in uni pochi altri membri non-JOSE per mantene a coherenza.
BASE 64
Questa hè a codificazione standard base64, cum'è descritta in RFC 4648 sezione 4, è include i caratteri di padding finale ("=").
Questu hè utilizatu per i certificati di codificazione (membri di l'JOSE x5c), presumibbilmente per currisponde più strettamente à a codificazione PEM cumuni chì i certificati sò spessu trovati.
HEX
In certi casi, i valori binari brevi sò spressi cum'è stringhe hex minuscule. Questu hè di cunfurmà cunvenzione cù cumu questi valori sò tipicamenti vistu è travagliatu.
2.3 Secure Element Manifest Object
À u livellu più altu, u furmatu di manifestu di l'elementu sicuru hè un array JSON di l'uggetti di Elementu Secure Signed induve ogni elementu rapprisenta un unicu elementu sicuru.
[
SignedSecureElement,
SignedSecureElement,
…
]
2.4 Ughjettu Elementu Secure firmatu
L'ughjettu Signed Secure Element hè un ughjettu JWS (RFC 7515) chì utilizeghja a Sintassi di Serializazione JSON Flattened (sezione 7.2.2).
{
"payload": BASE64URL(UTF 8 (SecureElement)),
"prutettu" : BASE64 URL(UTF8 (SignedSecureElementProtectedHeader)),
"header" : {
“uniqueId” : “0123f1822c38dd7a01”
},
"firma" : BASE 64URL(firma JWS)
}
RFC 7515 a sezione 7.2.1 furnisce definizioni per a codificazione è u cuntenutu di i membri JWS chì sò usati in questu oggettu. Eccu alcuni riassunti rapidi è dettagli supplementari nantu à questi membri è e caratteristiche specifiche chì sò aduprate.
carica utile
Un ughjettu SecureElement codificatu, chì hè u cuntenutu primariu firmatu. Tutte l'infurmazioni nantu à l'elementu sicuru sò cuntenuti quì.
prutettu
Un ughjettu SignedSecureElementProtectedHeader codificatu, chì descrive cumu verificà a firma.
intestazione
JWS intestazione senza prutezzione. Stu oggettu cuntene u membru ID unicu ripetutu da l'ughjettu SecureElement in u payload. L'intestazione senza prutezzione ùn hè micca parte di e dati firmati in u JWS; dunque, ùn hà micca bisognu à esse codificata è hè inclusu per facilità a ricerca di u testu chjaru di u manifestu senza avè bisognu di decode u payload.
firma
A firma codificata JWS di u payload è i membri prutetti.
2.4.1 Oggettu SignedSecureElementProtectedHeader
L'ughjettu SignedSecureElementProtectedHeader hè un capu JWS prutettu chì descrive cumu verificà a firma. Mentre a RFC 7515 sezione 4.1 elenca i membri di l'intestazione dispunibuli per un JWS, solu quelli elencati quì seranu utilizati.
{
"alg": "ES256",
"caprettu": BASE64URL(Identificatore di chjave di u sughjettu),
"x5t#S256": BASE64 URL(SHA-256 Certificatu Thumbprint)
}
alg
Descrive u tipu di chjave utilizatu per firmà u payload. Vede RFC 7518 sezione 3.1. Solu l'algoritmi di chjave publica seranu utilizati.
zitellu
Coded Subject Key Identifier (RFC 5280 sezione 4.2.1.2) di a chjave utilizata per firmà u payload. Questu hè u BASE64URL codificazione di u valore di identificatore di chjave di u sughjettu, micca l'estensione completa. Adupratu per aiutà à identificà a chjave per a verificazione. kid hè un campu di forma libera in u standard JWS (vede RFC 7515 sezione 4.1.4), cusì sta definizione s'applica solu à l'ughjettu SignedSecureElement.
x5t#S256
SHA-256 thumbprint (aka fingerprint) di u certificatu per a chjave publica necessaria per validà a firma. Cum'è u zitellu, pò ancu esse usatu per aiutà à identificà a chjave per a verificazione. Vede RFC 7515 sezione 4.1.8.
2.5 SecureElement Object
L'ughjettu SecureElement cuntene tutte l'infurmazioni nantu à l'elementu sicuru.
{
"versione" : 1,
"mudellu" : "ATECC608A",
"partNumber" : "ATECC608A-MAHDA-T",
"fabricante": EntityName,
"provisioner" : EntityName ,
"distributore": EntityName,
"groupId" : "359SCE55NV38H3CB",
"provisioningTimestamp” : “2018-01-15T17:22:45.000Z”,
"uniqueId" : "0123f1822c38dd7a01",
"publicKeySet" : {
"chjavi" : [ PublicJWK , ... ] },
"encryptedSecretKeySet" : {
"keys" : [ EncryptedSecretJWK , ... ] }
"modelInfo" : ModelInfo
}
versione
Versione di l'ughjettu SecureElement cum'è un interu. A versione attuale hè 1. E versioni successive s'impegnanu à mantene a cumpatibilità inversa cù e versioni precedenti, induve pussibule.
mudellu
Nome di u mudellu di l'elementu sicuru di basa. L'opzioni attuali sò ATECC508A, ATECC608A è ATECC608B da a famiglia Crypto Authentication.
Part Number
U numeru di parte cumpleta di l'elementu sicuru furnitu.
fabricatore
Un oggettu EntityName chì identifica u fabricatore di l'elementu sicuru.
prestatore
Un oggettu EntityName chì identifica quale hà realizatu a pruvisione / prugrammazione di l'elementu sicuru.
distributore
Un oggettu EntityName chì identifica quale hà distribuitu l'elementi sicuri furniti.
In parechji casi, questu serà a stessa entità chì genera i dati manifesti chì sò descritti quì.
gruppuld
Elementi sicuri ponu esse urganizati in gruppi identificati da una sola ID. Se l'elementu sicuru hè parti di un gruppu, questu hè l'ID unicu di quellu settore. L'ID di u gruppu deve esse unicu in u mondu.
provisioningTimestamp
Data è ora chì l'elementu sicuru hè statu furnitu in UTC. A furmazione hè per RFC 3339.
unicuId
Identificatore unicu per l'elementu sicuru. Per i dispositi di autentificazione Crypto, questu hè u numeru di serie di u dispositivu di 9 byte cum'è una stringa hex minuscule.
publicKeySet
Un ughjettu chì rapprisenta tutte e chjavi pubbliche (è e catene di certificati, se dispunibuli) chì currispondenu à e chjavi private tenute da l'elementu sicuru. Stu oggettu hè un JSON Web Chjave Set (JWK Set) per RFC 7517 sezione 5, induve e chjave sò una matrice di oggetti JWK Public.
EncryptedSecretKeySet
Un ughjettu chì rapprisenta tutte e chjave secrete (chjavi simmetrici) è e dati tenuti da l'elementu sicuru chì sò marcati per l'esportazione. U membru di e chjave hè un array di oggetti EncryptedSecretJWK. Innota chì un Set JWK criptatu ùn hè micca utilizatu cusì i metadati nantu à e chjavi individuali (numeru è ID chjave) ponu esse leghjite senza decifrare.
Model Info
Se l'infurmazioni supplementari non-criptugrafichi nantu à l'elementu sicuru deve esse trasmessi, questu ughjettu Modulino pò esse presente cù infurmazioni specifiche di mudellu.
2.6 EntityName Object
L'ughjettu EntityName hè utilizatu per identificà una entità rispunsevuli di una parte di l'elementu sicuru. I membri in questu oggettu sò variabili è devenu esse listessi cum'è l'attributi definiti in e sezzioni 6.4.1 Organization Name è 6.4.2 Organizational Unit Name di ITU-T X.509 (ISO/IEC 9594-6). Mentre chì nimu di i membri hè necessariu, ci deve esse almenu unu.
{
"organizationName": "Microchip Technology Inc",
"organizationalUnitName" : "Gruppu di Prudutti Sicuri",
}
Organizazione Nome
Nome di l'urganizazione di l'entità (per esempiu, nome di a cumpagnia).
organizationalUnitName Nome facoltativu di una unità in l'urganizazione à a quale l'entità si applica specificamente.
2.7 Public JWK Object
Questu ogettu rapprisenta una chjave publica asimmetrica è qualsiasi certificati assuciati cun ella. Questu hè un ughjettu JWK, cum'è definitu da RFC 7517. Certi specificazioni di membri JWK sò ripetuti quì sottu per riferimentu faciule cù l'aspettattivi per mudelli specifichi di elementi sicuri.
A seguente definizione hè per e chjave publiche di curva ellittica, supportata da a famiglia Crypto Authentication di elementi sicuri.
{
"kid" : "0",
"kty" : "EC",
"crv" : "P-256",
"x" : BASE64URL(X),
"y" : BASE64URL(Y),
"x5c" : [ BASE 64 (cert) , ... ] }
I seguenti campi JWK richiesti per e chjave publiche di curva ellittica sò definiti in RFC 7518 sezione 6.2.1:
zitellu
Chjave ID chjave. Identifica unicu sta chjave nantu à l'elementu sicuru. Per l'elementi sicuri di Crypto Authentication, questu serà u numeru di slot di a chjave privata currispundente.
kty
Tipu di chjave. L'elementi sicuri di CryptoAuthentication supportanu solu i chjavi publichi EC, cum'è definitu in RFC 7518 sezione 6.1.
crv
Per i tasti di curva ellittica, questu hè u nome di a curva. L'elementi sicuri di CryptoAuthentication supportanu solu a curva P-256, cum'è definita in RFC 7518 sezione 6.2.1.1.
x
Per i chjavi di curva ellittica, questa hè a chjave publica codificata X integer, cum'è definita in RFC 7518 sezione 6.2.1.2.
y
Per e chjave di curva ellittica, questa hè a chjave publica codificata Y integer, cum'è definita in RFC 7518 sezione 6.2.1.3.
x5c
Se a chjave publica hà un certificatu assuciatu cù questu, quellu certificatu serà truvatu in a prima pusizione in questa matrice.
I certificati successivi in l'array seranu i certificati CA utilizati per cunvalidà u precedente. I certificati seranu codificati BASE64 (micca BASE64URL) strings di u certificatu DER. Questu hè definitu in RFC 7517 sezione 4.7.
2.8 EncryptedSecretJWK Object
Questu ughjettu rapprisenta una chjave sicreta (chjave simmetrica) o dati secreti in un elementu sicuru chì hè criptatu per u destinatariu di u manifestu.
Hè un JSON Web Oggettu di criptografia (JWE), cum'è definitu da RFC 7516. A caduta JWE serà a serializazione JSON (micca serializazione compacta) di un ughjettu JWK, cum'è definitu da RFC 7517, cù un tipu chjave di octet ("kty":"oct" ). Vede RFC 7518 sezione 6.4 per i dettagli nantu à a chjave simmetrica JWK. Sta tecnica hè descritta in RFC 7517 sezione 7.
2.9 ModelInfo Object
Questu ughjettu cuntene infurmazioni supplementari specifiche di u mudellu nantu à un elementu sicuru chì ùn hè micca catturatu da l'altri membri criptografici. Ùn hà micca membri specifichi, ma dipende di u mudellu di l'elementu sicuru.
Attualmente, solu i mudelli di CryptoAuthentication (ATECC508A è ATECC608A) anu definitu un oggettu ModelInfo.
2.9.1 Ughjettu di u ModelInfo di CryptoAuthentication
Membri ModelInfo definiti per i mudelli di CryptoAuthentication (ATECC508A o ATECC608A):
{
"DeviceRevision": "00006002",
"publicData" : [ CryptoAuthPublicDataElement , ... ] }
rivisione di u dispusitivu
U numeru di rivisione di u dispositivu di 4 byte cum'è vultatu da u cumandamentu Info (Mode = 0x00). Codificata cum'è una stringa esadecimale minuscule.
publicData
Un array di oggetti CryptoAuthPublicDataElement chì definisce un locu è e dati publichi in quellu locu.
2.9.1.1 CryptoAuthPublicDataElement Object
Stu oggettu definisce u locu è u cuntenutu di un elementu di dati publicu in elementi sicuri di CryptoAuthentication.
{
"zone" : "data" ,
"slot" : 14,
"offset" : 0,
"data": BASE64URL(dati)
}
zona
Zona di CryptoAuthentication induve si trovanu i dati. L'opzioni sò "dati" per unu di i slot, "otp" per a zona OTP o "config" per a zona di cunfigurazione.
slot
Se a zona hè "data", questu hè l'indice di slot (0-15) induve e dati ponu esse truvati.
offset
Byte offset in a zona / slot chì i dati ponu esse truvati.
dati
Dati attuali in u locu specificatu da l'altri membri. Questa data serà BASE64URL codificati (cù i caratteri di padding ("=") spogliati).
Manifestu File Example è Decoding
I seguenti subsezzioni furnisce examples di un manifestu file entrata, certificatu CA manifestu è un codice Python example chì pò esse usatu per decode u manifestu file. Quessi files pò esse scaricatu da u Microchip websitu à Manifest Example Files. U cuntenutu di u scaricamentu file hè mostratu sottu.
Manifestu Files Esample
| ExampleManifest.json | Un unicu elementu manifestu file in formatu json. |
| ExampleManifestMCHP_CA.crt | Un esample di un certificatu CA di fabricazione pruduciutu da Microchip. |
| ExampleManifestDecode.py | Un script Python chì leghje l'example Manifest json file è decode in i so elementi rispettivi. |
3.1 Manifestu Example
Questu hè un example di un oggettu Secure Element Manifest cù una sola entrata SignedSecureElement:
[
{
"payload":
“eyJ2ZXJzaW9uIjoxLCJtb2RlbCI6IkFURUNDNjA4QSIsInBhcnROdW1iZXIiOiJBVEVDQzYwOEEtTUFIMjIiLCJtYW51Z
mFjdHVyZXIiOnsib3JnYW5pemF0aW9uTmFtZSI6Ik1pY3JvY2hpcCBUZWNobm9sb2d5IEluYyIsIm9yZ2FuaXphdGlvbmF
sVW5pdE5hbWUiOiJTZWN1cmUgUHJvZHVjdHMgR3JvdXAifSwicHJvdmlzaW9uZXIiOnsib3JnYW5pemF0aW9uTmFtZSI6I
k1pY3JvY2hpcCBUZWNobm9sb2d5IEluYyIsIm9yZ2FuaXphdGlvbmFsVW5pdE5hbWUiOiJTZWN1cmUgUHJvZHVjdHMgR3J
vdXAifSwiZGlzdHJpYnV0b3IiOnsib3JnYW5pemF0aW9uTmFtZSI6Ik1pY3JvY2hpcCBUZWNobm9sb2d5IEluYyIsIm9yZ
2FuaXphdGlvbmFsVW5pdE5hbWUiOiJNaWNyb2NoaXAgRGlyZWN0In0sImdyb3VwSWQiOiIzNTlTQ0U1NU5WMzhIM0NCIiw
icHJvdmlzaW9uaW5nVGltZXN0YW1wIjoiMjAxOS0wMS0yNFQxNjozNToyMy40NzNaIiwidW5pcXVlSWQiOiIwMTIzZjE4M
jJjMzhkZDdhMDEiLCJwdWJsaWNLZXlTZXQiOnsia2V5cyI6W3sia2lkIjoiMCIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTY
iLCJ4IjoieDhUUFFrN2g1T3ctY2IxNXAtVEU2SVJxSFFTRVRwUk5OYnU3bmwwRm93TSIsInkiOiJ1eDN1UDhBbG9VbThRb
k5ueUZMNlIwS0taWXhGQ0l0VV9RTGdzdWhYb29zIiwieDVjIjpbIk1JSUI5VENDQVp1Z0F3SUJBZ0lRVkN1OGZzdkFwM3l
kc25uU2FYd2dnVEFLQmdncWhrak9QUVFEQWpCUE1TRXdId1lEVlFRS0RCaE5hV055YjJOb2FYQWdWR1ZqYUc1dmJHOW5lU
0JKYm1NeEtqQW9CZ05WQkFNTUlVTnllWEIwYnlCQmRYUm9aVzUwYVdOaGRHbHZiaUJUYVdkdVpYSWdSall3TURBZ0Z3MHh
PVEF4TWpReE5qQXdNREJhR0E4eU1EUTNNREV5TkRFMk1EQXdNRm93UmpFaE1COEdBMVVFQ2d3WVRXbGpjbTlqYUdsd0lGU
mxZMmh1YjJ4dloza2dTVzVqTVNFd0h3WURWUVFEREJnd01USXpSakU0TWpKRE16aEVSRGRCTURFZ1FWUkZRME13V1RBVEJ
nY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRIeE05Q1R1SGs3RDV4dlhtbjVNVG9oR29kQklST2xFMDF1N3VlWFFXa
kE3c2Q3ai9BSmFGSnZFSnpaOGhTK2tkQ2ltV01SUWlMVlAwQzRMTG9WNktMbzJBd1hqQU1CZ05WSFJNQkFmOEVBakFBTUE
0R0ExVWREd0VCL3dRRUF3SURpREFkQmdOVkhRNEVGZ1FVcy9HcVpRNk1BYjd6SC9yMVFvNThPY0VGdVpJd0h3WURWUjBqQ
kJnd0ZvQVUrOXlxRW9yNndiV1NqODJyRWRzSlBzOU52dll3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnTkxUeks1NmI1VVl
FSGU5WXdxSXM2dVRhbm14Mk9yQjZoL1FZRHNJT1dzTUNJUUNMMURzbHhnVXU4OHhveXlnTVNnTDlYOGxjSDVCejlSQURKY
W1JZi91UUtnPT0iLCJNSUlDQlRDQ0FhcWdBd0lCQWdJUWVRcW4xWDF6M09sdFpkdG1pM2F5WGpBS0JnZ3Foa2pPUFFRREF
qQlBNU0V3SHdZRFZRUUtEQmhOYVdOeWIyTm9hWEFnVkdWamFHNXZiRzluZVNCSmJtTXhLakFvQmdOVkJBTU1JVU55ZVhCM
GJ5QkJkWFJvWlc1MGFXTmhkR2x2YmlCU2IyOTBJRU5CSURBd01qQWdGdzB4T0RFeU1UUXhPVEF3TURCYUdBOHlNRFE1TVR
JeE5ERTVNREF3TUZvd1R6RWhNQjhHQTFVRUNnd1lUV2xqY205amFHbHdJRlJsWTJodWIyeHZaM2tnU1c1ak1Tb3dLQVlEV
lFRRERDRkRjbmx3ZEc4Z1FYVjBhR1Z1ZEdsallYUnBiMjRnVTJsbmJtVnlJRVkyTURBd1dUQVRCZ2NxaGtqT1BRSUJCZ2d
xaGtqT1BRTUJCd05DQUFSMlIwRndzbVBubVZTOGhic1M2ZjV3REZ1TjFOYVRSWmpDS2Fkb0FnNU9DMjFJZGREdG9lNzJYN
UZmeHJFV1JzV2h5bU1mWWxWb2RFZHB4ZDZEdFlscW8yWXdaREFPQmdOVkhROEJBZjhFQkFNQ0FZWXdFZ1lEVlIwVEFRSC9
CQWd3QmdFQi93SUJBREFkQmdOVkhRNEVGZ1FVKzl5cUVvcjZ3YldTajgyckVkc0pQczlOdnZZd0h3WURWUjBqQkJnd0ZvQ
VVldTE5YmNhM2VKMnlPQUdsNkVxTXNLUU9Lb3d3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU1Zd01lbXBpekJPYUg0R3h
UbDVLc1Y2WEFGTk1CZmUzTko5MVIzTmhqZi9BaUVBeHFJc2JyR3VYNFdSU2N0ZDUzZUxvL01MNlQyYmdHK1V2ejJRcFlSN
Flkdz0iXX0seyJraWQiOiIxIiwia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiIyT2huZTl2MGFUU0NkclpObVh2dE9
XaXI1RVRnUmhudmVjSkRYUEh6RnBnIiwieSI6ImhjUDkxQ01UQUt2amR6Nl9pTldPNDZnNXVQalJ2Smt1dVFfNlRIY2tGL
UEifSx7ImtpZCI6IjIiLCJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IkVFRXhpUmYwVEJYd1BrTGloSlZSdGVTWTN
oVS1JR1RMbFVPLUZSTUpaRmciLCJ5IjoiTnVib2F3NFdfYTNLd2kwbFZlRzlwNGg0Mkk0bTd2bUs1UDQ5U1BlYkZ2TSJ9L
Hsia2lkIjoiMyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiaktCOERrY2k1RXhSemcwcXREZEFqcFJJSFNoeFl
PTjgyWVoyLWhhamVuWSIsInkiOiJOWU1KOUR0YkN0Nk9wbmoyZzQzQWhrMnB4UXU5S1JkTXkzbTBmLUpfclJFIn0seyJra
WQiOiI0Iiwia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJMVFUwSUdoM3ltQXpXbFdtWjg0ZmhYN1lrQjRaQ21tbFY
tWU9ORHREYURVIiwieSI6ImN2TnIyVEpEV1hmNFhPNlB6eWJSV29FY1FMVDRGM05WUDhZajItWDhxYncifV19fQ” ,
"prutettu" :
“eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6IjdjQ0lMbEFPd1lvMS1QQ2hHdW95VUlTTUszZyIsIng1dCNTM
jU2IjoiVEVjNDZTVDJSREZfQU92QnRvQ1lhODM4VldJUGZOVl8yalRxTmE0ajVSNCJ9” ,
"header" : {
“uniqueId” : “0123f1822c38dd7a01”
},
“signature” : “7btSLIbS3Yoc6yMckm7Moceis_PNsFbNJ6iktVKl86IuxZ6cU_yVZuLSgLCstMs4_EBFpvsyFy7lj5rM9oMDw”
}
] Decodificà u membru prutettu dà u seguente SignedSecureElementProtectedHeader:
{
"typ" : "JWT",
"alg" : "ES256",
"kid" : "7cCILlAOwYo1-PChGuoyUISMK3g",
“x5t#S256” : “TEc46ST2RDF_AOvBtoCYa838VWIPfNV_2jTqNa4j5R4”
}
A decodificazione di u membru di u payload dà i seguenti SecureElement:
{
"versione" : 1,
"mudellu" : "ATECC608A",
"partNumber" : "ATECC608A-MAH22",
"fabricante" : {
"organizationName": "Microchip Technology Inc",
"organizationalUnitName" : "Gruppu di Prudutti Sicuri"
} ,
"furnitore" : {
"organizationName": "Microchip Technology Inc",
"organizationalUnitName" : "Gruppu di Prudutti Sicuri"
} ,
"distributore" : {
"organizationName": "Microchip Technology Inc",
"organizationalUnitName" : "Microchip Direct"
} ,
"groupId" : "359SCE55NV38H3CB",
"provisioningTimestamp” : “2019-01-24T16:35:23.473Z”,
"uniqueId" : "0123f1822c38dd7a01",
"publicKeySet" : {
"chiavi": [
{
"kid": "0",
"kty": "EC",
"crv": "P-256",
“x”: “x8TPQk7h5Ow-cb15p-TE6IRqHQSETpRNNbu7nl0FowM” ,
“y”: “ux3uP8AloUm8QnNnyFL6R0KKZYxFCItU_QLgsuhXoos” ,
"x5c": [
“MIIB9TCCAZugAwIBAgIQVCu8fsvAp3ydsnnSaXwggTAKBggqhkjOPQQDAjBPMSEwHwYDVQQKDBhNaWNyb2NoaXAgVGVja
G5vbG9neSBJbmMxKjAoBgNVBAMMIUNyeXB0byBBdXRoZW50aWNhdGlvbiBTaWduZXIgRjYwMDAgFw0xOTAxMjQxNjAwMDB
aGA8yMDQ3MDEyNDE2MDAwMFowRjEhMB8GA1UECgwYTWljcm9jaGlwIFRlY2hub2xvZ3kgSW5jMSEwHwYDVQQDDBgwMTIzR
jE4MjJDMzhERDdBMDEgQVRFQ0MwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATHxM9CTuHk7D5xvXmn5MTohGodBIROlE0
1u7ueXQWjA7sd7j/AJaFJvEJzZ8hS+kdCimWMRQiLVP0C4LLoV6KLo2AwXjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/
wQEAwIDiDAdBgNVHQ4EFgQUs/GqZQ6MAb7zH/
r1Qo58OcEFuZIwHwYDVR0jBBgwFoAU+9yqEor6wbWSj82rEdsJPs9NvvYwCgYIKoZIzj0EAwIDSAAwRQIgNLTzK56b5UYE
He9YwqIs6uTanmx2OrB6h/QYDsIOWsMCIQCL1DslxgUu88xoyygMSgL9X8lcH5Bz9RADJamIf/uQKg==” ,
“MIICBTCCAaqgAwIBAgIQeQqn1X1z3OltZdtmi3ayXjAKBggqhkjOPQQDAjBPMSEwHwYDVQQKDBhNaWNyb2NoaXAgVGVja
G5vbG9neSBJbmMxKjAoBgNVBAMMIUNyeXB0byBBdXRoZW50aWNhdGlvbiBSb290IENBIDAwMjAgFw0xODEyMTQxOTAwMDB
aGA8yMDQ5MTIxNDE5MDAwMFowTzEhMB8GA1UECgwYTWljcm9jaGlwIFRlY2hub2xvZ3kgSW5jMSowKAYDVQQDDCFDcnlwd
G8gQXV0aGVudGljYXRpb24gU2lnbmVyIEY2MDAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAR2R0FwsmPnmVS8hbsS6f5
wDFuN1NaTRZjCKadoAg5OC21IddDtoe72X5FfxrEWRsWhymMfYlVodEdpxd6DtYlqo2YwZDAOBgNVHQ8BAf8EBAMCAYYwE
gYDVR0TAQH/BAgwBgEB/
wIBADAdBgNVHQ4EFgQU+9yqEor6wbWSj82rEdsJPs9NvvYwHwYDVR0jBBgwFoAUeu19bca3eJ2yOAGl6EqMsKQOKowwCgY
IKoZIzj0EAwIDSQAwRgIhAMYwMempizBOaH4GxTl5KsV6XAFNMBfe3NJ91R3Nhjf/AiEAxqIsbrGuX4WRSctd53eLo/
ML6T2bgG+Uvz2QpYR4Ydw="
] },
{
"kid": "1",
"kty": "EC",
"crv": "P-256",
"x": "2Ohne9v0aTSCdrZNmXvtOWir5ETgRhnvecJDXPHzFpg",
“y”: “hcP91CMTAKvjdz6_iNWO46g5uPjRvJkuuQ_6THckF-A”
},
{
"kid": "2",
"kty": "EC",
"crv": "P-256",
"x": "EEExiRf0TBXwPkLihJVRteSY3hU-IGTLlUO-FRMJZFg",
“y”: “Nuboaw4W_a3Kwi0lVeG9p4h42I4m7vmK5P49SPebFvM”
},
{
"kid": "3",
"kty": "EC",
"crv": "P-256",
“x”: “jKB8Dkci5ExRzg0qtDdAjpRIHShxYON82YZ2-hajenY” ,
“y”: “NYMJ9DtbCt6Opnj2g43Ahk2pxQu9KRdMy3m0f-J_rRE”
},
{
"kid": "4",
"kty": "EC",
"crv": "P-256",
“x”: “LTU0IGh3ymAzWlWmZ84fhX7YkB4ZCmmlV-YONDtDaDU” ,
“y”: “cvNr2TJDWXf4XO6PzybRWoEcQLT4F3NVP8Yj2-X8qbw”
}
] }
}
U SignedSecureElement exampu sopra pò esse verificatu cù u seguente certificatu:
—–BEGIN CERTIFICATE—-MIIBxjCCAWygAwIBAgIQZGIWyMZI9cMcBZipXxTOWDAKBggqhkjOPQQDAjA8MSEw
HwYDVQQKDBhNaWNyb2NoaXAgVGVjaG5vbG9neSBJbmMxFzAVBgNVBAMMDkxvZyBT
aWduZXIgMDAxMB4XDTE5MDEyMjAwMjc0MloXDTE5MDcyMjAwMjc0MlowPDEhMB8G
A1UECgwYTWljcm9jaGlwIFRlY2hub2xvZ3kgSW5jMRcwFQYDVQQDDA5Mb2cgU2ln
bmVyIDAwMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEu8/ZyRdTu4N0kuu76C
R1JR5vz04EuRqL4TQxMinRiUc3Htqy38O6HrXo2qmNoyrO0xd2I2pfQhXWYuLT35
MGWjUDBOMB0GA1UdDgQWBBTtwIguUA7BijX48KEa6jJQhIwreDAfBgNVHSMEGDAW
gBTtwIguUA7BijX48KEa6jJQhIwreDAMBgNVHRMBAf8EAjAAMAoGCCqGSM49BAMC
A0gAMEUCIQD9/x9zxmHkeWGwjEq67QsQqBVmoY8k6PvFVr4Bz1tYOwIgYfck+fv/
pno8+2vVTkQDhcinNrgoPLQORzV5/l/b4z4=
—–FINE
CERTIFICATE—–
3.2 Decode Python Example
Questu hè un script Python example per verificà e voci firmate è decodificà u cuntenutu. U script hè pruvatu nantu à Python 2.7 è Python 3.7. I pacchetti richiesti ponu esse installati cù u gestore di pacchetti Python pip:
pip install python-jose[criptografia] # (c) 2019 Microchip Technology Inc. è e so filiali.
#
# Sughjettu à u vostru rispettu di sti termini, pudete aduprà u software Microchip
# è qualsiasi derivati solu cù i prudutti Microchip. Hè u vostru
# rispunsabilità di rispettà i termini di licenza di terze parti applicabili à u vostru
# usu di software di terze parti (cumpresu software open source) chì pò
# accumpagnà u software Microchip.
#
# STU SOFTWARE hè furnitu da MICROCHIP "AS IS". NESSUNA GARANZIA, CHE
# EXPRESS, IMPLICITE O STATUTARY, APPLICATE À QUESTU SOFTWARE, INCLUDE QUALUNQUE IMPLICITA
# GARANTIE DI NON-INFRAZIONE, COMMERCIABILITÀ E IDONEITÀ PER A
# SCOPI PARTICULARI. IN NESSUN CASU MICROCHIP SERA RESPONSABILE PER QUALUNQUE INDIRETTA,
# SPECIAL, PUNITIVE, INCIDENTAL O CONSEQUENIAL PERD, DANN, COSTO O SPESE
# DI QUALSIASI TIPI QUANTO RELATA À U SOFTWARE, QUANTÀ CAUSATA, ANCHE SE
# U MICROCHIP hè statu avvisatu di a pussibilità o di i danni
# PREVISIBILE. À LA PIÙ MISURA PERMISSATA DA LEGGE, TOTALE DI MICROCHIP
# A RESPONSABILITÀ PER TUTTE LE RECLAMAZIONI IN QUALSIASI MANIERA RELATATA À QUESTU SOFTWARE ÙN SUPPERÀ
# L'AMMUNTU DI TARIFFE, SE CHANGE, CHE HAI PAGATU DIRETTAMENTE À MICROCHIP PER
# QUESTU SOFTWARE.
impurtà json
da base64 import b64decode, b16encode
da argparse import ArgumentParser
impurtà jose. jws
da jose. utils import base64url_decode, base64url_codifica
da l'importazione di criptografia x509
da a criptografia. hazmat. backends impurta default_backend
da a criptografia. hazmat. i primitivi importanu hash, serializazione
da a criptografia. hazmat. primitivi. importazione asimmetrica ec
parser = ArgumentParser (
description = 'Verificà è decodificà u manifestu di l'elementu sicuru'
)
parser. aghjunghje_argumentu (
'-manifesta',
aiutu = 'Manifestu file processà',
nargs = 1,
tipu = str,
necessariu = True,
metavar ='file'
)
parser. aghjunghje_argumentu (
'-cert',
help = 'Certificatu di verificazione file in format PEM',
nargs = 1,
tipu = str,
necessariu = True,
metavar ='file'
)
args = parser . parse_args ()
# Lista l'algoritmi di verificazione permessi per u JWS. Solu permette
# basati in chjave publica.
verification_algorithms = [
'RS256' , 'RS384' , 'RS512' , 'ES256' , 'ES384' , 'ES512'
] # Caricà u manifestu cum'è JSON
cù apertu (args. manifest [0], 'rb') cum'è f:
manifest = json . carica (f)
# Caricate u certificatu di verificazione in formatu PEM
cù open (args. cert [0], 'rb') cum'è f:
verification_cert = x509 . load_pem_x509_certificate (
dati = f . leghje (),
backend = default_backend ()
)
# Cunvertite a chjave publica di u certificatu di verificazione in u furmatu PEM
verification_public_key_pem = verification_cert . public_key ().public_bytes (
codifica = serializazione . Encoding. PEM,
formatu = serializazione . Format Publicu. SubjectPublicKeyInfo
). decode ('ascii')
# Ottene a basa 64url identificatore di chjave di u sughjettu codificatu per u certificatu di verificazione
ski_ext = verification_cert . estensioni. get_extension_for_class (
extclass =x509 . SubjectKeyIdentifier
)
verification_cert_kid_b64 = base64url_codifica (
ski_ext . valore. digerisce
). decode ('ascii')
# Ottene a basa 64url codificata sha-256 thumbprint per u certificatu di verificazione
verification_cert_x5t_s256_b64 = base64url_codifica (
verification_cert . impronta digitale (hash. SHA256 ())
). decode ('ascii')
# Prucessa tutte e entrate in u manifestu
per i, signed_se in enumerate (manifestu):
stampa (" )
stampa ('Trattamentu di l'entrata {} di {}:' .formatu (i +1, len(manifesta)))
stampa ('uniqueId: {}' .formatu (
signed_se [ 'header' ][ 'uniqueId' ] ))
# Decode l'intestazione prutetta
prutettu = json . carichi (
basa 64url_decode (
signed_se ['prutettu']. codifica ('ascii')
)
)
se prutettu [ 'kid' ] != verification_cert_kid_b64 :
raise ValueError ('u zitellu ùn currisponde micca à u valore di certificatu')
se prutettu [ 'x5t#S256' ] != verification_cert_x5t_s256_b64 :
raise ValueError ('x5t#S256 ùn currisponde micca à u valore di certificatu')
# Cunvertite JWS in forma compacta cum'è necessariu da python-jose
jws_compact = '.' . unisce ([
signed_se ['prutettu'],
signed_se ['payload'],
signed_se [ 'firma' ] ])
# Verificate è decodificate a carica utile. Se a verificazione falla una eccezione serà
# esse risuscitatu.
se = json. carichi (
jose . jws. verificate (
token =jws_compact ,
chjave = verification_public_key_pem ,
algoritmi = algoritmi di verificazione
)
)
if se [ 'uniqueId' ] != signed_se [ 'header' ][ 'uniqueId' ]:
cresce ValueError (
(
'uniqueId in header "{}" ùn currisponde à a versione in' +
'payload "{}"'
). furmatu (
signed_se [ 'header'][ 'uniqueId' ] ,
se ['uniqueId'])
)
stampa ('Verificatu')
stampa ('SecureElement = ')
stampa ( json . dumps ( se , indent = 2 ))
# Decode chjavi publichi è certificati
pruvà:
public_keys = se [ 'publicKeySet' ][ 'keys' ] eccettu KeyError:
public_keys = [] per jwk in public_keys :
print ( 'Chiave publica in slot {}:' .formatu ( int (jwk['kid' ])))
if jwk [ 'kty' ] != 'EC' :
cresce ValueError (
'Unsupported {}' . formatu ( json . dumps ({ 'kty' : jwk ['kty' ]}))
)
if jwk [ 'crv' ] != 'P-256' :
cresce ValueError (
'Unsupported {}' . formatu ( json . dumps ({ 'crv' : jwk ['crv' ]}))
)
# Decodifica i numeri interi x è y
# Utilizà int.from_bytes () seria più efficaci in python 3
x = int (
codifica b16 (base64url_decode (jwk['x']. codifica ('utf8' ))),
16
)
y = int (
codifica b16 (base64url_decode (jwk['y']. codifica ('utf8' ))),
16
)
public_key = ec . EllipticCurvePublicNumbers (
curve = ec. SECP256R1 (),
x = x,
y = y
). public_key ( default_backend ())
stampa (public_key . public_bytes (
codifica = serializazione . Encoding. PEM,
formatu = serializazione . Format Publicu. SubjectPublicKeyInfo
). decode ('ascii'))
# Decode tutti i certificati dispunibili
per cert_b64 in jwk. get('x5c', []):
cert = x509. load_der_x509_certificate (
data =b64decode (cert_b64),
backend = backend_default ()
)
print ( cert . public_bytes (
codifica = serializazione . Encoding. PEM
). decode ('ascii'))
Storia di rivisione
| Doc Rev. | Data | Descrizzione |
| A | 02/2022 | Liberazione iniziale di stu documentu |
U Microchip Websitu
Microchip furnisce supportu in linea via u nostru websitu à www.microchip.com/. Questu website hè usatu per fà files è l'infurmazioni facilmente dispunibili à i clienti. Alcune di u cuntenutu dispunibule include:
- Support Product - Schede dati è errata, note appiicazioni è sampi prugrammi, risorse di cuncepimentu, guide d'utilizatori è documenti di supportu hardware, l'ultime versioni di u software è u software archiviatu
- Assistenza Tecnica Generale - Domande Frequenti (FAQ), richieste di supportu tecnicu, gruppi di discussione in linea, lista di membri di u prugramma di partner di design Microchip
- Affari di Microchip - Selettore di prudutti è guide d'ordine, ultimi comunicati di stampa Microchip, lista di seminarii è avvenimenti, liste di uffizii di vendita di Microchip, distributori è rapprisentanti di fabbrica
Serviziu di Notificazione di Cambiamentu di Produttu
U serviziu di notificazione di cambiamentu di produttu di Microchip aiuta à mantene i clienti attuali nantu à i prudutti Microchip. L'abbonati riceveranu una notificazione per e-mail ogni volta chì ci sò cambiamenti, aghjurnamenti, rivisioni o errata in relazione à una famiglia di prudutti specifica o strumentu di sviluppu d'interessu.
Per registrà, andate à www.microchip.com/pcn è seguitate l'istruzzioni di registrazione.
Assistenza Clienti
L'utilizatori di i prudutti Microchip ponu riceve assistenza attraversu parechji canali:
- Distributore o Rappresentante
- Uffiziu di Vendita Locale
- Ingegnere di soluzioni integrate (ESE)
- Assistenza tecnica
I clienti anu da cuntattà u so distributore, rappresentante o ESE per supportu. L'uffizii di vendita lucali sò ancu dispunibili per aiutà i clienti. Una lista di l'uffizii di vendita è i lochi hè inclusa in stu documentu.
U supportu tecnicu hè dispunibule attraversu u websitu à: www.microchip.com/support
Funzione di prutezzione di codice di i dispositi Microchip
Nota i seguenti dettagli di a funzione di prutezzione di codice nantu à i prudutti Microchip:
- I prudutti Microchip rispondenu à e specificazioni cuntenute in a so specifica Scheda di Dati Microchip.
- Microchip crede chì a so famiglia di prudutti hè sicura quandu s'utilice in a manera prevista, in e specificazioni operative, è in cundizioni normali.
- Microchip valorizza è prutegge in modu aggressivu i so diritti di pruprietà intellettuale. I tentativi di violazione di e funzioni di prutezzione di u codice di u produttu Microchip sò strettamente pruibiti è ponu violà a Digital Millennium Copyright Act.
- Nè Microchip nè un altru fabricatore di semiconductor pò guarantisci a sicurità di u so codice. A prutezzione di u codice ùn significa micca chì guarantimu chì u pruduttu hè "unbreakable". A prutezzione di u codice hè in constante evoluzione. Microchip hè impegnatu à migliurà continuamente e funzioni di prutezzione di codice di i nostri prudutti.
Avvisu Legale
Questa publicazione è l'infurmazioni quì ponu esse aduprate solu cù i prudutti Microchip, cumpresu per cuncepisce, pruvà è integrà i prudutti Microchip cù a vostra applicazione. L'usu di sta infurmazione in ogni altra manera viola questi termini. L'infurmazioni riguardanti l'applicazioni di u dispositivu sò furnite solu per a vostra comodità è ponu esse rimpiazzate da l'aghjurnamenti. Hè a vostra rispunsabilità per assicurà chì a vostra applicazione risponde à e vostre specificazioni. Cuntattate u vostru uffiziu di vendita Microchip locale per supportu supplementu o, uttene supportu supplementu à www.microchip.com/en-us/support/design-help/client-support-services.
QUESTA INFORMAZIONE hè furnita da u microchip "AS IS". MICROCHIP NON FACCIA RIPRESENTAZIONI O GARANTIE DI ALCUNA TIPI, SIA ESPRESSA O IMPLICITA, SCRITTA O ORALE, STATUTARIA O ALTRE, RELATIVA A L'INFORMAZIONI INCLUSI, MA NON LIMITATE A ALCUNA GARANZIA IMPLICITA DI NON VIOLAZIONE, POSSIBILITÀ E PARTECIPABILITÀ PER A COMMERCIALE, A PUBLICIDAD, A PUBLICIDAD. GARANTIE RELATATI À A SO CONDIZIONE, QUALITÀ, O PRESTAZIONI.
IN NESSUN CASU MICROCHIP SERA RESPONSABILE PER QUALSIASI PERDITA INDIRETTA, SPECIALE, PUNITIVE, INCIDENTALE, O CONSEGUENTE, DANNI, COSTO, O SPESE DI QUALUNQUE TIPI RELATATI À L'INFORMAZIONI O U U U U U SO, IN QUANTO CAUSATE, ANCHE QUANTO ESE ADVERTIMENTO. PUSSIBILITÀ OR I DANNI SONT PREVISIBILI. À LA MESSA ALTERNATA PERMISSATA DA LEGGE, A RESPONSABILITÀ TOTALE DI MICROCHIP PER TUTTE LE RECLAMAZIONI IN QUALSIA MANIERA RELATATA À L'INFORMAZIONI O U U SO USU NON SUPERARÀ L'IMPORTU DI TARIFFE, SE CUALQUIE, CHE AVRAI PAGATA DIRETTAMENTE À MICROCHIP PER L'INFORMAZIONI.
L'usu di i dispositi Microchip in l'applicazioni di supportu di vita è / o di sicurezza hè interamente à u risicu di u cumpratore, è u cumpratore accetta di difende, indemnizà è mantene innocu Microchip da qualsiasi danni, rivendicazioni, vestiti, o spese risultanti da tali usu. Nisuna licenza hè trasmessa, implicitamente o altrimenti, sottu à alcunu diritti di pruprietà intellettuale di Microchip, salvu s'ellu ùn hè micca dichjaratu altrimenti.
Marchi
U nome è u logu Microchip, u logu Microchip, Adaptec, Any Rate, AVR, AVR logo, AVR Freaks, Bestie, Bit Cloud, Crypto Memory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD , maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, Sync Server, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron è XMEGA sò marchi registrati di Microchip Technology Incorporated in i Stati Uniti è in altri paesi.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, Hyper Light Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, Logo ProASIC Plus, Quiet-Wire , Smart Fusion, Sync World, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath è ZL sò marchi registrati di Microchip Technology Incorporated in i Stati Uniti.
Suppressione di chjave adiacente, AKS, Analog-for-the-Digital Age, Qualchese Capacitor, Any In, Any Out, Switching Augmented, Blue Sky, Body Com, Code Guard, CryptoAuthentication, Crypto Automotive, Crypto Companion, Crypto Controller, dsPICDEM, dsPICDEM .net, Dynamic Average Matching, DAM, ECAN, Espresso T1S, EtherGREEN, Grid Time, Ponte Ideale, Programmazione Seriale In-Circuit, ICSP, INICnet, Parallelazione Intelligente, Connettività Inter-Chip, JitterBlocker, Knob-on-Display, Crypto max. , max View, mem Brain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient Code Generation, PICDEM, PICDEM.net, PI Ckit, PI Ctail, Power Smart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, Smart HLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, TSHARC , USB Check, VariSense, Vector Blox, VeriPHY, ViewSpan, WiperLock, XpressConnect è ZENA sò marchi di Microchip Technology Incorporated in i Stati Uniti è in altri paesi.
SQTP hè una marca di serviziu di Microchip Technology Incorporated in i Stati Uniti
U logu Adaptec, Frequency on Demand, Silicon Storage Technology, Symmcom è Trusted Time sò marchi registrati di Microchip Technology Inc. in altri paesi.
GestIC hè una marca registrata di Microchip Technology Germany II GmbH & Co. KG, una filiale di Microchip Technology Inc., in altri paesi.
Tutti l'altri marchi citati quì sò pruprietà di e so cumpagnie rispettive.
© 2022, Microchip Technology Incorporated è e so filiali. Tutti i diritti riservati.
ISBN: 978-1-5224-9757-8
Sistema di Gestione di Qualità
Per infurmazione nantu à i Sistemi di Gestione di Qualità di Microchip, visitate www.microchip.com/quality.
Vendite è serviziu in u mondu sanu
| AMERICA | ASIA / PACIFIC | ASIA / PACIFIC | EUROPA |
| Uffiziu Corporate 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Assistenza tecnica: www.microchip.com/support Web Indirizzu: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Austin, TX Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Tel: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 New York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Canada - Toronto Tel: 905-695-1980 Fax: 905-695-2078 |
Australia - Sydney Tel: 61-2-9868-6733 Cina - Pechino Tel: 86-10-8569-7000 Cina - Chengdu Tel: 86-28-8665-5511 Cina - Chongqing Tel: 86-23-8980-9588 Cina - Dongguan Tel: 86-769-8702-9880 Cina - Guangzhou Tel: 86-20-8755-8029 Cina - Hangzhou Tel: 86-571-8792-8115 Cina - Hong Kong SAR Tel: 852-2943-5100 Cina - Nanjing Tel: 86-25-8473-2460 Cina - Qingdao Tel: 86-532-8502-7355 Cina - Shanghai Tel: 86-21-3326-8000 Cina - Shenyang Tel: 86-24-2334-2829 Cina - Shenzhen Tel: 86-755-8864-2200 Cina - Suzhou Tel: 86-186-6233-1526 Cina - Wuhan Tel: 86-27-5980-5300 Cina - Xian Tel: 86-29-8833-7252 Cina - Xiamen Tel: 86-592-2388138 Cina - Zhuhai Tel: 86-756-3210040 |
India - Bangalore Tel: 91-80-3090-4444 India - New Delhi Tel: 91-11-4160-8631 India - Pune Tel: 91-20-4121-0141 Giappone - Osaka Tel: 81-6-6152-7160 Giappone - Tokyo Tel: 81-3-6880- 3770 Corea - Daegu Tel: 82-53-744-4301 Corea - Seoul Tel: 82-2-554-7200 Malasia - Kuala Lumpur Tel: 60-3-7651-7906 Malasia - Penang Tel: 60-4-227-8870 Filippine - Manila Tel: 63-2-634-9065 Singapore Tel: 65-6334-8870 Taiwan - Hsin Chu Tel: 886-3-577-8366 Taiwan - Kaohsiung Tel: 886-7-213-7830 Taiwan - Taipei Tel: 886-2-2508-8600 Tailanda - Bangkok Tel: 66-2-694-1351 Vietnam - Ho Chi Minh Tel: 84-28-5448-2100 |
Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Danimarca - Copenhague Tel: 45-4485-5910 Fax: 45-4485-2829 Finlandia - Espoo Tel: 358-9-4520-820 Francia – Parigi Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germania - Garching Tel: 49-8931-9700 Germania - Haan Tel: 49-2129-3766400 Germania - Heilbronn Tel: 49-7131-72400 Germania - Karlsruhe Tel: 49-721-625370 Germania - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Germania - Rosenheim Tel: 49-8031-354-560 Israele - Ra'anana Tel: 972-9-744-7705 Italia - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Italia - Padova Tel: 39-049-7625286 Paesi Bassi - Drunen Tel: 31-416-690399 Fax: 31-416-690340 Norvegia - Trondheim Tel: 47-72884388 Pulonia - Varsavia Tel: 48-22-3325737 Romania - Bucarest Tel: 40-21-407-87-50 Spagna - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Svezia - Gothenberg Tel: 46-31-704-60-40 Svezia - Stoccolma Tel: 46-8-5090-4654 UK - Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 |
© 2022 Microchip Technology Inc. è e so filiali
Manuale di riferimentu di famiglia
Documenti / Risorse
![]() |
Manifestu di a piattaforma di fiducia MICROCHIP File Format [pdfGuida di l'utente Trust Platform Manifest File Format, Manifestu File Format |




