Practical PKI - a hands-on workshop

The Practical PKI workshop is designed to introduce you to PKI and X.509 fundamentals, and real-world applications. There are two main application areas:

Please give your feedback at the end of the session!

Prerequisites

The workshop is designed to make it as easy as possible to participate.

You will need a computer with an Internet access, an SSH client and a web browser. You can use any operating system—most of the exciting stuff happens on the machines in the workshop environment.

Some prior experience with Linux / Unix and using a command shell will be helpful, but it is not a strict requirement.

The smart card module has an optional remote graphical login scenario, using Remote Desktop Protocol (RDP). Suitable clients include:

Workshop modules

The workshop activities are organised into Public PKI and Enterprise PKI sections. Within each section, you should do the modules in order.

Public PKI modules:

  1. ACME certificates for Apache httpd with mod_md
  2. Using Certificate Transparency logs

Enterprise PKI modules:

  1. Key generation and CSR creation with OpenSSL
  2. Service certificates with FreeIPA and Certmonger
  3. FreeIPA certificate profiles and user certificates
  4. Smart cards and workstation login
  5. Externally signing the FreeIPA CA
  6. The FreeIPA ACME server

Your unique workshop environment

You will have received a card bearing your participant number and some access details. Your workshop environment is hosted under the domain e$N.pki.frase.id.au (where $N is your particpant number).

Throughout the curriculum, the variable $DOMAIN refers to your environment’s domain.

There are several machines in the environment:

Environment variables

On all three machines, login shells will automatically set the DOMAIN and REALM environment variables. For example:

export DOMAIN=e17.pki.frase.id.au
export REALM=E17.PKI.FRASE.ID.AU

You might also find it convenient to set these variables in your shell session on your local machine.

Accessing the environment

The machines in your environment can be accessed over SSH. The unique SSH private key for your environment is available for download here. Download your private key and provide it to your SSH client. Then you can log into any of the machines in your environment, using the fedora user account.

If you use OpenSSH, the login command is:

ssh -i path/to/key.pem fedora@client.e$N.pki.frase.id.au

Accept the host key prompt and log in.

Do not access or interfere with other participants’ environments!

hacker voice: I’m in.

Now that you’re here, here is some info about the machines.

FreeIPA credentials

For some workshop modules, you will access and perform administrative actions in a FreeIPA domain. The accounts and access credentials are as follows: