Skip to main content
Crypto è un’implementazione interna avanzata. Non è necessario per le operazioni comuni come post, recupero feed o notifiche. Consultalo quando devi costruire verifica firma di basso livello o implementazioni OAuth per AT Protocol.

Panoramica della crittografia in AT Protocol

AT Protocol adotta la crittografia a curva ellittica (ECC) in modo esteso per realizzare una rete sociale decentralizzata. Gli usi principali sono i seguenti.

Classi delle coppie di chiavi

AbstractKeypair

AbstractKeypair è la classe base comune per P256 / K256. Internamente utilizza phpseclib3.

P256 (secp256r1)

Utilizzata in OAuth (DPoP / Client Assertion). OAuthKey estende P256 e carica la chiave privata da config('bluesky.oauth.private_key'). È disponibile anche un comando Artisan per generare una nuova chiave privata OAuth.

K256 (secp256k1)

Utilizzata per l’autenticazione di Feed Generator e Labeler. PDS / Relay di Bluesky verificano la firma su questa curva.

DidKey

La classe DidKey codifica e decodifica una chiave pubblica nel formato did:key.

Cos’è il formato did:key

In AT Protocol una chiave pubblica è rappresentata come stringa did:key:z.... È l’aggiunta di un identificatore di curva alla chiave pubblica, seguita da una codifica multibase in Base58btc.

Codifica di una chiave pubblica in did:key

Parsing della chiave pubblica dal DID Document


JsonWebToken (JWT)

La classe JsonWebToken fornisce codifica e decodifica di JWT.

DPoP (Demonstrated Proof of Possession)

DPoP è un meccanismo di sicurezza che lega un access token OAuth a una specifica coppia di chiavi del client. Previene gli attacchi di replay del token. La classe DPoP è utilizzata internamente e normalmente non serve invocarla direttamente. Il middleware OAuthAgent applica automaticamente gli header DPoP.

Signature (conversione formato firma)

AT Protocol utilizza il formato di firma compatto a 64 byte, mentre phpseclib3 restituisce firme in formato ASN.1 DER. La classe Signature gestisce questa conversione.

JsonWebKey

JsonWebKey è la classe che rappresenta una JWK (JSON Web Key). Viene usata nella generazione delle proof DPoP.

OAuthKey

OAuthKey è una classe di chiave dedicata a OAuth che estende P256 e usa il valore di config('bluesky.oauth.private_key') come chiave privata.
Normalmente viene gestita automaticamente all’interno di Bluesky Socialite.
Source: src/Crypto/
Ultima modifica il 13 luglio 2026