DKA Open Source & Demo Info

The DKA open source site is on github at kishore032/dka.

DKA Demo
Register a public key in a domain DKA
1. Register an email id at keymail1.com or keymail2.com and login.
2. From your email account, click '...' on top and click 'Demo Get token', and save and send the composed email.
3. In a few seconds refresh Incoming Email. You'll see you've received a token from the DKA.
4. Click on the email with the token to open it.
5. Click on '...' and choose 'Demo Register Key'. Type "default" for selector. The demo will prepare a JSON string for you to send via email.
6. Send the email. It will be delivered to the DKA with the token and your public key.
7. In a few seconds refresh Incoming Email. You'll see you've successfully registered a public key.
8. To demo the retrieval API, on a browser, type:
  https://dka.keymail1.com/.well-known/dka/lookup?email_address=your-email-address
9. You should get the public key record you just registered.

Register a public key in Fallback DKA (fDKA)
1. Login to your regular email account (e.g., gmail).
2. Send an email with any or no content to dka@dka.keyzero.org (an fDKA standin).
3. In a few seconds, you'll see you've received an email with a token from keyzero.org.
4. Compose an email to dka@dka.keyzero.org with the JSON below. Make sure you copy the received token correctly into the token field.

  {"token":"",
"public_key":"t2a1lWU2Q4aFB2NUNsUTJUdWFERzFhQVNsSUhFeVVPaEpCaDd3L","selector":"default","metadata":"{\"algorithm\":\"RSA\"}"}

5. Send the email. If you've copied the token correctly, the fDKA will register your public key.
6. In a few seconds, you'll get a registration message.
7. To demo the fDKA retrieval API, on a browser, type:
  https://dka.keyzero.org/.well-known/dka/lookup?email_address=your-email-address
8. You should get the public key record you just registered.

An Application Demo (end-to-end email encryption)
1. Register a second email id at keymail2.com.
2. Send an email from your keymail2 id to your keymail1 id. Since you registered a public key for your keymail1 id, this email will go encrypted (look for lock sign).
3. Send an email from your keymail1 id to keymail2 id. It will be unencrypted as your keymail2 id does not have a public key yet.
4. Set up a public key for your keymail2 id as in Step 1.
5. Now email you send from one keymail id to the other will be encrypted and signed (lock and fingerprint icons).
6. You can even send an encrypted message from keymail1 or keymail2 to your external email address of Step 2.
7. This demo is intended to show how applications can use the public keys in the DKA framework.