key-examples

From Microformats Wiki
Revision as of 13:59, 1 November 2012 by Tantek (talk | contribs) (→‎Real-World Examples: personal home page, note where ellipsis was added or in original)
Jump to navigation Jump to search

This article is a stub. You can help the microformats.org wiki by expanding it.

<entry-title>key examples</entry-title>

This page is for documenting real world publishing examples of public keys in visible text on web pages.

The Problem

This page documents existing real world publishing examples of public keys in the hope of analyzing them to see if / how to better fit existing publishing practices of public keys, either with hCard's 'key' property, or possibly other solutions.

Related: provide input to W3C Crypto API Issue 14: Representation of raw key material

Real-World Examples

personal home page

Example URL: Matthias Ries

Note: the page has an hCard of the individual, but no 'key' property. However, inside that hCard, there is the following:

 <div class="signature">
 <pre>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)

mQGiBEl2HAgRBAC9IZGQE3NRWFoXV7CcVRbo7xMe+nGPRMTOocA0pcv9N67R6CAZ
...
-----END PGP PUBLIC KEY BLOCK-----
 </pre>
 </div>

Ellipsis added.

  • inside a <pre> inside a <div> with class name "signature

If the author used the class name "key" instead of (or in addition to) the class name "signature", then it would be recognized as a plain text 'key' property value in his hCard.

profile page

Example(s) of a public key published on a profile page with other information, e.g. on a personal home page or a hosted service.

claimID

Example URL: claimID : Brandon B

Note: ClaimID has hcard-supporting-user-profiles and thus the page has an hCard of the individual, but no 'key' property.

Note 2: Page has an abusive invisible content div (with visibility:hidden; position:absolute) aimed at crawlers (id="crawler_text"), presumably search engines in particular, since it abuses h1 tags:

  <div id="crawler_text" style="visibility:hidden; position:absolute;">
          <h1>Brandon B</h1>      <h1>Caedis, Caedis_Hax, CaedisHax, Cædis_Hax, Daedalus, DaedalusXero, Dædalus</h1>      <h1>Texas</h1>        <h2>"There are no coincidences, only the illusion of coincidence"


The information below may be used to verify my signatures and encrypt communications to me.


-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (GNU/Linux)

mQGiBEgIJGYRBAC54vZVXjK5l4VRSiUC6XGMgEOjEFgWvruVr/PXBk0hbn...</h2>
    <h3>ClaimID is a simple way to manage your online identity.  This is the claimID page of 
           Brandon B.     
    </h3> 
  </div>

Ellipsis in original.

And here's the complete and visible PGP PUBLIC KEY BLOCK:

<p>
The information below may be used to verify my signatures and encrypt communications to me.
<p>
<p>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (GNU/Linux)
<p>
mQGiBEgIJGYRBAC54vZVXjK5l4VRSiUC6XGMgEOjEFgWvruVr/PXBk0hbnZ47D8j
...
-----END PGP PUBLIC KEY BLOCK-----</span></div>
  

  <div style="text-align:center;">

Ellipsis added.

Note: the </span></div> at the end are markup errors, and the <div style="text-align:center;"> auto-closes the p tag around the actual PGP public key block.

It's not clear if the markup around the public key is added by the site, or was added by the user entering information in to a generic notes/info field, or if the p tags in particular were added by the site to represent blank lines entered by the user.

  • BEGIN PGP PUBLIC KEY BLOCK and Version header is in its own paragraph tag from the actual base64 test.
  • end of key is implied by an invalid close span tag.

on its own page

armored OpenPGP format

Example URL: PGP Public Key for Alan Eliasen

<H2>Public Key</H2>
  <PRE>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)

mQGiBD0ZXm4RBADS59M4Dy4aOBUA59mKkNg+bWqeKenYs+zTk7O8QKfqgKxLBNya
...

-----END PGP PUBLIC KEY BLOCK-----
  </PRE>

  <P>
   This is also available in a <A HREF="pgp.txt">plaintext file</A>.
  </P>

  <H2>Importing My Key</H2>
  <P>
   The simplest way from an e-mail client (like Enigmail) is to simply e-mail
   <A HREF="pgp.txt">the plaintext version of my key</A> to your own e-mail
   address and choose the option like "Import PGP Key."  My key is also
   available from <A HREF="http://pgp.mit.edu/">pgp.mit.edu</A>
   (interactively.)
  </P>

Ellipsis added.

  • raw key in a PRE block
  • link to plain text version of key
  • (human) discovery for an email client
  • alternative key server for key (human search required at destination)

PGP PUBLIC KEY BLOCK

Example URL: Folsom's Public Key

<pre>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 6.5.8 for non-commercial use &lt;http://www.pgp.com&gt;

mQGiBDheqqARBAD//2FUIkCc9ITtszMh70nFmTOj/YWWi3Kk4aumxuAhgGeEwAFX
...
-----END PGP PUBLIC KEY BLOCK-----
</pre>

Ellipsis added.

  • raw key in a PRE block

short name of example

Linked full name of example

<div>
raw, unescaped markup of example
</div>

Analysis of implied schema of example.

Common Practices

(template boilerplate)

  • Summary of common patterns discovered
  • common implied schema

Existing Practices

(template boilerplate) Other attempts to solve The Problem

  • *-formats page

Brainstorming

(template boilerplate) Link to related pages as they become available

  • *-brainstorming page
  • proposal page
  • microformat spec page

See Also