/// General class to handle JCA key pairs and convert them into OpenPGP ones.
///
/// A word for the unwary, the KeyId for an OpenPGP public key is calculated from
/// a hash that includes the time of creation, if you pass a different date to the
/// constructor below with the same public private key pair the KeyIs will not be the
/// same as for previous generations of the key, so ideally you only want to do
/// this once.
///
///
public class PgpKeyPair
{
private readonly PgpPublicKey pub;
private readonly PgpPrivateKey priv;
public PgpKeyPair(
PublicKeyAlgorithmTag algorithm,
AsymmetricCipherKeyPair keyPair,
DateTime time)
: this(algorithm, keyPair.Public, keyPair.Private, time)
{
}
public PgpKeyPair(
PublicKeyAlgorithmTag algorithm,
AsymmetricKeyParameter pubKey,
AsymmetricKeyParameter privKey,
DateTime time)
{
this.pub = new PgpPublicKey(algorithm, pubKey, time);
this.priv = new PgpPrivateKey(pub.KeyId, pub.PublicKeyPacket, privKey);
}
///