
組み込みデバイス上で署名付きURLを生成するための非対称暗号ライブラリ。PSA Crypto APIを使用し、ZephyrおよびESP-IDFをサポートして時間制限付きリソースアクセスを可能にします。
小型デバイス向けの署名付きURL。
signy は、非対称暗号を使用して組み込みデバイス上で署名付きURLを生成するためのライブラリです。署名付きURLは通常、コンテンツデリバリーネットワーク (CDN) によって配信されるプライベートリソースへの時間制限付きアクセスを許可するために利用されます。組み込みデバイスのコンテキストでは、署名付きURLを使用して、外部システム、または同じシステム内の別のコンポーネントが特定のリソースにアクセスできるようにすることができます。たとえば、デバイスが署名付きURLを生成し、それをより高性能なシステムに渡して、その代わりにリソースをダウンロードさせることができます。
signy を使用するには、生成された署名付きURLを検証できるサーバーが必要です。signy を Golioth と一緒に使用する場合、デバイス証明書を発行した認証局 (CA) に関連付けられた証明書を プロジェクトにアップロード する必要があります。
signy は、署名操作に Platform Security Architecture (PSA) Crypto API を利用しています。秘密鍵は、PSA Crypto API を使用して 生成 または インポート する必要があり、公開鍵を含む署名付き証明書を signy ライブラリに渡す必要があります。
signy によって生成される署名付きURLは、次の形式に従います。
BASEURL?nb=NOTBEFORE&na=NOTAFTER&cert=CERTIFICATE&sig=SIGNATURE
BASEURL: リソースの場所 (例: https://gw.golioth.io/.u/c/[email protected])NOTBEFORE / NOTAFTER: 署名付きURLが有効な期間を定義するUnixタイムスタンプ。signy は NOTBEFORE にデバイスのシステム時間を使用し、CONFIG_SIGNY_URL_VALIDITY_DURATION に基づいて NOTAFTER タイムスタンプを設定します。CERTIFICATE: デバイス証明書のbase64無パディングURLエンコーディング。SIGNATURE: &sig= より前のURL全体に対する署名。signy リポジトリは Zephyr モジュール であり、プロジェクトの west.yml ファイルに以下を追加することで、任意の Zephyr プロジェクトに含めることができます。
- name: signy
path: modules/lib/signy
revision: v0.2.0
url: https://github.com/golioth/signy.git
詳細については、Zephyr の 例 を参照してください。
signy リポジトリは ESP-IDF コンポーネント であり、プロジェクトの idf_component.yml で依存関係として指定することで、任意の ESP-IDF プロジェクトに含めることができます。
dependencies:
signy:
version: v0.2.0
git: https://github.com/golioth/signy.git
詳細については、esp-idf の 例 を参照してください。