private static PgpPublicKey AddCert(IPgpPublicKey key, object id, IPgpSignature certification)
        {
            var returnKey = new PgpPublicKey(key);
            IList <IPgpSignature> sigList = null;

            for (var i = 0; i != returnKey.Ids.Count; i++)
            {
                if (id.Equals(returnKey.Ids[i]))
                {
                    sigList = returnKey.IdSigs[i];
                }
            }

            if (sigList != null)
            {
                sigList.Add(certification);
            }
            else
            {
                sigList = Platform.CreateArrayList <IPgpSignature>();
                sigList.Add(certification);
                returnKey.Ids.Add(id);
                returnKey.IdTrusts.Add(null);
                returnKey.IdSigs.Add(sigList);
            }

            return(returnKey);
        }
        private static PgpPublicKey AddCert(IPgpPublicKey key, object id, IPgpSignature certification)
        {
            var returnKey = new PgpPublicKey(key);
            IList<IPgpSignature> sigList = null;

            for (var i = 0; i != returnKey.Ids.Count; i++)
            {
                if (id.Equals(returnKey.Ids[i]))
                {
                    sigList = returnKey.IdSigs[i];
                }
            }

            if (sigList != null)
            {
                sigList.Add(certification);
            }
            else
            {
                sigList = Platform.CreateArrayList<IPgpSignature>();
                sigList.Add(certification);
                returnKey.Ids.Add(id);
                returnKey.IdTrusts.Add(null);
                returnKey.IdSigs.Add(sigList);
            }

            return returnKey;
        }
 /// <summary>
 /// Add a certification for the given UserAttributeSubpackets to the given public key.
 /// </summary>
 /// <param name="key">The key the certification is to be added to.</param>
 /// <param name="userAttributes">The attributes the certification is associated with.</param>
 /// <param name="certification">The new certification.</param>
 /// <returns>
 /// The re-certified key.
 /// </returns>
 public static PgpPublicKey AddCertification(IPgpPublicKey key, IPgpUserAttributeSubpacketVector userAttributes, IPgpSignature certification)
 {
     return AddCert(key, userAttributes, certification);
 }
 /// <summary>
 /// Add a certification for the given UserAttributeSubpackets to the given public key.
 /// </summary>
 /// <param name="key">The key the certification is to be added to.</param>
 /// <param name="userAttributes">The attributes the certification is associated with.</param>
 /// <param name="certification">The new certification.</param>
 /// <returns>
 /// The re-certified key.
 /// </returns>
 public static PgpPublicKey AddCertification(IPgpPublicKey key, IPgpUserAttributeSubpacketVector userAttributes, IPgpSignature certification)
 {
     return(AddCert(key, userAttributes, certification));
 }