
Bibliothèque de cryptographie asymétrique pour générer des URL signées sur des appareils embarqués, permettant un accès limité dans le temps aux ressources en utilisant l'API PSA Crypto avec le support de Zephyr et ESP-IDF.
URLs signées pour petits appareils.
signy est une bibliothèque permettant de générer des URLs signées sur des appareils embarqués en utilisant la cryptographie asymétrique. Les URLs signées sont généralement utilisées pour accorder un accès limité dans le temps à des ressources privées, comme celles servies par un réseau de diffusion de contenu (CDN). Dans le contexte des appareils embarqués, les URLs signées peuvent être utilisées pour permettre à un système externe, ou à un autre composant du même système, d'accéder à une ressource spécifique. Par exemple, un appareil peut générer une URL signée et la transmettre à un système plus capable pour lui permettre de télécharger la ressource en son nom.
L'utilisation de signy nécessite un serveur capable de vérifier les URLs signées qu'il génère. Si vous utilisez signy avec Golioth, les certificats associés à l'autorité de certification (CA) qui a délivré le certificat de l'appareil doivent être téléchargés vers votre projet.
signy exploite l'API Crypto de l'architecture de sécurité de plateforme (PSA) pour les opérations de signature. Les clés privées doivent être générées ou importées à l'aide des API Crypto PSA, et un certificat signé contenant la clé publique doit être transmis à la bibliothèque signy.
Les URLs signées générées par signy respectent le format suivant.
BASEURL?nb=NOTBEFORE&na=NOTAFTER&cert=CERTIFICATE&sig=SIGNATURE
BASEURL : l'emplacement de la ressource (par ex. https://gw.golioth.io/.u/c/[email protected])NOTBEFORE / NOTAFTER : les horodatages Unix définissant la fenêtre de validité de l'URL signée. signy utilise l'heure système de l'appareil pour NOTBEFORE et définit l'horodatage NOTAFTER en fonction de CONFIG_SIGNY_URL_VALIDITY_DURATION.CERTIFICATE : le codage base64 sans remplissage et adapté aux URL du certificat de l'appareil.SIGNATURE : la signature sur toute la partie de l'URL précédant &sig=.Le dépôt signy est un module Zephyr et peut être inclus dans tout projet Zephyr en ajoutant ce qui suit au fichier west.yml du projet.
- name: signy
path: modules/lib/signy
revision: v0.2.0
url: https://github.com/golioth/signy.git
Consultez les exemples Zephyr pour plus d'informations.
Le dépôt signy est un composant ESP-IDF et peut être inclus dans tout projet ESP-IDF en le spécifiant comme dépendance dans le fichier idf_component.yml du projet.
dependencies:
signy:
version: v0.2.0
git: https://github.com/golioth/signy.git
Consultez les exemples esp-idf pour plus d'informations.