Rel-publickey and Rel-pgpkey Specification
Rel-publickey and Rel-pgp are a simple open format to indicate that a link points to an individual’s or entity’s PGP or other public key.
Mark Burnett (firstname.lastname@example.org)
This specification is released into the public domain per the Creative Commons Public Domain License or any later version published by Creative Commons; with a waiver of rights, and an assertion that no rights attach to this particular work.
The Rel-publickey attribute is to be used with HTML
LINK elements to describe a public key related to the current document’s author, role, or entity. The link’s
href attribute contains the URI of the key in either plain text or binary formats as indicated by the type attribute as shown in this example:
<a href="http://example.com/pgpkey.asc" rel="publickey" type="text/plain">My PGP Key</a>
The type attribute should be one of the following depending on the format of the certificate:
|application/pgp-keys||Binary (PGP)||.pgp, .gpg, .pub|
|application/x-x509-ca-cert||Binary (DER)||.crt, .der, .key, .cer|
|application/x-x509-user-cert||Binary (DER)||.crt, .der|
|application/x-pkcs7-signature||Binary (DER) or Text (PEM)||.p7s|
Specifying Key Owner
The owner of the linked public key should be identified by the full name, e-mail address, or certificate id and may be specified in the
name attributes or within the anchor text. The author might also be assumed through a rel-author value elsewhere, an
author meta tag in the page header, in an embedded hCard, or the owner of a domain or blog that uniquely identifies a single individual or entity.
Rel-publickey vs Rel-pgpkey
Due to the ambiguity of the text/plain format, one could alternatively use rel=”pgpkey” to explicitly define the key as a PGP/GPG key. When using rel=”pgpkey” the type must be specified as either text/plan or application/pgp-keys. The rel=”publickey” form may be used with any public key format.
Link to PGP key:
<a href="https://xato.net/x/Mark_Burnett_mb@xato.net_(0x9A61D7D1)_pub.asc" rel="publickey" title="email@example.com" type="text/plain">My PGP Key</a>
Use as a hidden link in the page header:
<link href="https://xato.net/x/Mark_Burnett_mb@xato.net_(0x9A61D7D1)_pub.asc" rel="publickey" title="firstname.lastname@example.org" type="text/plain">