SealSkin
Server Reference

security

Authentication and end-to-end encryption.

  • The E2EE handshake: the server signs a nonce with its RSA key so the client can verify it, then the client sends an RSA-OAEP wrapped AES-256-GCM key.
  • EncryptedRoute encrypts every JSON response with the session key and get_decrypted_request_body decrypts request bodies.
  • verify_token validates client-signed RS256 JWTs against the public key stored for the user.
  • Password hashing for public shares.
attributelogger
= logging.getLogger(__name__)
attributeALGORITHM
= 'RS256'
attributeJWT_LEEWAY_SECONDS
= 60
attributeHANDSHAKE_PATHS
= ('/api/handshake/initiate', '/api/handshake/exchange')
attributeIDEMPOTENCY_TTL_SECONDS
= 600