47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using System.IO;
|
|
using keyring;
|
|
using chestcrypto.identity;
|
|
|
|
namespace chestcrypto.profile{
|
|
|
|
public class KeyRingSave{
|
|
|
|
private string profileDir;
|
|
private string privateProfile;
|
|
private string publicProfile;
|
|
|
|
public KeyRingSave(string profileDirectory){
|
|
profileDir = profileDirectory;
|
|
|
|
if (! Directory.Exists(profileDir)){
|
|
Directory.CreateDirectory(profileDir); // Does not error if it exists already
|
|
}
|
|
privateProfile = profileDir + "/private.keyring.csv";
|
|
publicProfile = profileDir + "/public.keyring.csv";
|
|
}
|
|
|
|
public void save(KeyRing ring){
|
|
string header = "base85Key,name,note";
|
|
|
|
|
|
using (System.IO.StreamWriter file =
|
|
new System.IO.StreamWriter(privateProfile, false))
|
|
{
|
|
foreach(PrivateIdentity iden in ring.privateIdentities){
|
|
file.Write(header + "\r\n" + iden.getEncodedKey() + "," + iden.name + "," + iden.getNote() + "\r\n");
|
|
}
|
|
}
|
|
|
|
using (System.IO.StreamWriter file =
|
|
new System.IO.StreamWriter(publicProfile, false))
|
|
{
|
|
foreach(PublicIdentity iden in ring.publicIdentities){
|
|
file.Write(header + "\r\n" + iden.getEncodedKey() + "," + iden.name + "," + iden.getNote() + "\r\n");
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} |