Working with Keys
Prior to using a public key to verify any signatures, you must register that public key with the server.
A PublicKey class is provided with the following fields:
| Field | Required? | Type | Description | Example |
|---|---|---|---|---|
| user | No | ForeignKey | User who owns this key | |
| public_key_id | Yes | String | UUID Generated by the server, required by client for authorization | 6b7d3d9fbf4f4cdfbecb5d7903a7bdb5 |
| public_key | Yes | String | compact-form text-encoded public key | MEYCIQ...jUyDrF |
| signing_algorithm | Yes | String | The algorithm used to sign the hashed signing string | (created) content-length |
| hashing_algorithm | Yes if signing_algorithm='RSA' | String | The algorithm used to hash the signing string | |
| created_at | Yes | Datetime | Generated by Django | |
| is_active | No | Number | Is the PublicKey active | True |
The user field may be set or not. If it is set, the key will be associated with a User.
Deactivating keys
PublicKeys can be disabled by switching is_active to False. Doing so will prevent authorization from that key.
Managing keys
You can manage keys in the Django admin:
/admin/keypair_permissions/publickey/
Here you will find a standard admin interface for adding, removing, and modifying PublicKeys.