Parse new fields containing old identity keys

Proposal 230 adds support for relays and bridges to migrate from one identity key to another. A relay or bridge that uses this new feature switches to a new identity key and includes information about its old identity key in its server descriptor.

In particular, the following data will be included:

  • old RSA 1024 public identity key (not SHA-1 fingerprint),
  • date and time of migration, and
  • signature of date and time of migration and new identity key fingerprint, made with old identity key.

Microdescriptors will include the SHA-1 fingerprint of the old identity key in an old-id field, if the signature turned out to be valid.

We need to parse the new fields in metrics-lib. We'll probably also want to provide the SHA-1 fingerprint of the old identity key in server descriptor objects.