treasurechest/treasurechest/keyring/keyring.cs

38 lines
1.1 KiB
C#
Raw Normal View History

using chestcrypto.identity;
2020-06-05 04:16:05 +00:00
using chestcrypto.exceptions;
2020-05-16 03:48:05 +00:00
using System.Collections.Generic;
2020-06-05 04:16:05 +00:00
using System.Linq;
namespace keyring{
public class KeyRing
{
2020-06-05 04:16:05 +00:00
public List<PublicIdentity> publicIdentities { get; set; }
public List<PrivateIdentity> privateIdentities { get; set; }
public KeyRing(){
2020-06-05 04:16:05 +00:00
publicIdentities = new List<PublicIdentity>();
privateIdentities = new List<PrivateIdentity>();
}
2020-06-05 04:16:05 +00:00
public void addPublicIdentity(PublicIdentity newIden){
foreach(PublicIdentity iden in publicIdentities){
if (Enumerable.ReferenceEquals(iden.getPublicKey(), iden)){
throw new DuplicateIdentityException();
}
}
publicIdentities.Add(newIden);
}
public void addPrivateIdentity(PrivateIdentity newIden){
foreach(PrivateIdentity iden in privateIdentities){
if (Enumerable.ReferenceEquals(iden.getPrivateKey(), iden)){
throw new DuplicateIdentityException();
}
}
privateIdentities.Add(newIden);
}
}
}