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.

Specification 6-Sep-2013


Mark Burnett (


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.


This specification is subject to a royalty free patent policy, e.g. per the W3C Patent Policy, and IETF RFC3667 & RFC3668.


The Rel-publickey attribute is to be used with HTML A and 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="" 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:

MIME Type Encoding Extension
text/plain ASCII .asc, .txt
text/xml XML (XKMS) .xml
application/pgp-keys Binary (PGP) .pgp, .gpg, .pub
application/pkix-cert Binary (DER) .cer
application/x-x509-ca-cert Binary (DER) .crt, .der, .key, .cer
application/x-x509-user-cert Binary (DER) .crt, .der
application/x-pem-file Text (PEM) .pem
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 title, id, or 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="" rel="publickey" title="" type="text/plain">My PGP Key</a>

Use as a hidden link in the page header:

<link  href="" rel="publickey" title="" type="text/plain">

See Also

Yubikey Token        LastPass password manager