descriptionsafely store server secrets
last changeThu, 15 Feb 2018 17:03:56 +0000 (17:03 +0000)

regpg - safely store server secrets

The regpg program is a thin wrapper around gpg for looking after secrets that need to be stored encrypted in a version control system (so you don't have to trust the VCS server) and decrypted when your configuration management system deploys them to servers.



If you use regpg, let me know! Send me mail at

If you would like to submit a bug report or a patch, or if you would like more information about regpg's licence, see doc/


For a simple one-file install you can copy the regpg script to a directory on your $PATH.

You can run make install to install the script and man page to the standard places in your home directory, and make uninstall to remove them. See the start of the Makefile for variables you can set on the command line to adjust the install location. See doc/ for details about building from git.


To use regpg you need the following programs. I've listed the versions that I have tested.

You only need the following programs if you use regpg's helper subcommands.

You only need the following to build from git.


Download the single-file regpg perl script: and its GPG signature.

Download the full source archives and GPG signatures:


You can clone or browse the repository from:


Thanks to Jon Warbrick who gave me the idea for regpg's key management; and David Carter, Ben Harris, Ian Lewis, David McBride, mchubby, and Matthew Vernon for helpful bug reports and discussions.

Written by Tony Finch
at Cambridge University Information Services.

regpg is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

regpg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with regpg. If not, see

2018-02-15 Tony Finchdoc: when not to use `regpg` master
2018-02-02 Tony Finchutil: preen version number in bare script on release
2018-02-02 Tony Finchutil: do not immediately upload new releases so cockups...
2018-02-02 Tony Finchregpg-0.103.X
2018-02-02 Tony Finchregpg-0.103 regpg-0.103
2018-02-02 Tony Finchregpg: add a -q option, mainly for quiet checks
2018-02-01 Tony Finchregpg-0.102.X
2018-02-01 Tony Finchregpg-0.102 regpg-0.102
2018-02-01 Tony Finchutil: ensure relnotes are updated before release
2018-02-01 Tony Finchregpg-0.101.X
2018-02-01 Tony Finchregpg-0.101 regpg-0.101
2018-02-01 Tony Finchansible: extend ansible.cfg options rather than overwri...
2018-01-24 Tony Finchregpg: make the ssh-keygen pipe check more accurate
2018-01-24 Tony Finchdoc: copyright footer for relnotes and contributing
2018-01-24 Tony Finchtest: ssh public key conversion
2018-01-24 Tony Finchregpg: conversion from encrypted private key to ssh...
5 months ago regpg-0.103 regpg-0.103
5 months ago regpg-0.102 regpg-0.102
5 months ago regpg-0.101 regpg-0.101
5 months ago regpg-0.100 regpg-0.100
7 months ago regpg-0.99 regpg-0.99
7 months ago regpg-0.98 regpg-0.98
7 months ago regpg-0.97 regpg-0.97
7 months ago regpg-0.96 regpg-0.96
7 months ago regpg-0.95 regpg-0.95
7 months ago regpg-0.94 regpg-0.94
7 months ago regpg-0.93 regpg-0.93
7 months ago regpg-0.92 regpg-0.92
8 months ago regpg-0.91 regpg-0.91
8 months ago regpg-0.88 regpg-0.88
8 months ago regpg-0.80 regpg-0.80
8 months ago regpg-0.79 regpg-0.79
5 months ago master