/// <summary> /// Imports a public pgp keyring. /// </summary> /// <remarks> /// Imports a public pgp keyring. /// </remarks> /// <param name="keyring">The pgp keyring.</param> /// <exception cref="System.ArgumentNullException"> /// <paramref name="keyring"/> is <c>null</c>. /// </exception> public virtual void Import(PgpPublicKeyRing keyring) { if (keyring == null) { throw new ArgumentNullException(nameof(keyring)); } PublicKeyRingBundle = PgpPublicKeyRingBundle.AddPublicKeyRing(PublicKeyRingBundle, keyring); SavePublicKeyRingBundle(); }
/// <inheritdoc/> public void ImportKey(ArraySegment <byte> data) { var ring = ParseObject <PgpPublicKeyRing>(PgpUtilities.GetDecoderStream(data.ToStream())); try { PublicBundle = PgpPublicKeyRingBundle.AddPublicKeyRing(PublicBundle, ring); } catch (ArgumentException) { // Bundle already contains key } }
/// <summary> /// Imports a public pgp keyring bundle. /// </summary> /// <remarks> /// Imports a public pgp keyring bundle. /// </remarks> /// <param name="bundle">The pgp keyring bundle.</param> /// <exception cref="System.ArgumentNullException"> /// <paramref name="bundle"/> is <c>null</c>. /// </exception> public override void Import(PgpPublicKeyRingBundle bundle) { if (bundle == null) { throw new ArgumentNullException(nameof(bundle)); } int publicKeysAdded = 0; foreach (PgpPublicKeyRing pubring in bundle.GetKeyRings()) { PublicKeyRingBundle = PgpPublicKeyRingBundle.AddPublicKeyRing(PublicKeyRingBundle, pubring); publicKeysAdded++; } if (publicKeysAdded > 0) { SavePublicKeyRingBundle(); } }
/// <inheritdoc/> public void ImportKey(byte[] data) { #region Sanity checks if (data == null) { throw new ArgumentNullException(nameof(data)); } #endregion var stream = PgpUtilities.GetDecoderStream(new MemoryStream(data)); var ring = ParseObject <PgpPublicKeyRing>(stream); try { PublicBundle = PgpPublicKeyRingBundle.AddPublicKeyRing(PublicBundle, ring); } catch (ArgumentException) { // Bundle already contains key } }