Moving micasa 1.5 trunk to Novell forge.
This commit is contained in:
58
c_sharp/GladeSharp2/AssemblyInfo.cs
Normal file
58
c_sharp/GladeSharp2/AssemblyInfo.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
BIN
c_sharp/GladeSharp2/Bitmap.bmp
Normal file
BIN
c_sharp/GladeSharp2/Bitmap.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 104 KiB |
786
c_sharp/GladeSharp2/Driver.cs
Normal file
786
c_sharp/GladeSharp2/Driver.cs
Normal file
@@ -0,0 +1,786 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Collections.Specialized;
|
||||
using Gtk;
|
||||
using Glade;
|
||||
|
||||
using Novell.CASA;
|
||||
using Novell.SecretStore.NSSSWrapper;
|
||||
|
||||
namespace GladeSharp2
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for Driver.
|
||||
/// </summary>
|
||||
class Driver
|
||||
{
|
||||
#region Glade Widgets
|
||||
|
||||
[Widget] Gtk.Window window1;
|
||||
[Widget] Gtk.TreeView treeview1;
|
||||
|
||||
[Widget] Gtk.Window addSecretWindow;
|
||||
[Widget] Gtk.Window displaySecretWindow;
|
||||
|
||||
[Widget] Gtk.Entry entrySecretID;
|
||||
[Widget] Gtk.Entry entryUsername;
|
||||
[Widget] Gtk.Entry entryPassword;
|
||||
[Widget] Gtk.Entry entryNDAP;
|
||||
[Widget] Gtk.Entry entryLDAP;
|
||||
[Widget] Gtk.Entry entryEMAIL;
|
||||
|
||||
[Widget] Gtk.Entry entryLoginUser;
|
||||
[Widget] Gtk.Entry entryLoginPassword;
|
||||
[Widget] Gtk.Entry entryLoginServer;
|
||||
|
||||
[Widget] Gtk.Label label11;
|
||||
[Widget] Gtk.Label label22;
|
||||
|
||||
[Widget] Gtk.Label labelCreated;
|
||||
[Widget] Gtk.Label labelAccessed;
|
||||
[Widget] Gtk.Label labelModified;
|
||||
|
||||
[Widget] Gtk.TreeView listActivity;
|
||||
[Widget] Gtk.TreeView tvKeyValue;
|
||||
[Widget] Gtk.Statusbar statusbar1;
|
||||
[Widget] Gtk.Image image1;
|
||||
|
||||
[Widget] Gtk.Entry entryHost;
|
||||
[Widget] Gtk.Entry entryHostPort;
|
||||
|
||||
[Widget] Gtk.Entry entryServerPort;
|
||||
[Widget] Gtk.Label labelServerStatus;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
Novell.CASA.SecretStore ss = Novell.CASA.SecretStore.getInstance();
|
||||
|
||||
private RemoteStore m_rs = null;
|
||||
private bool b_isAuthenticated = false;
|
||||
|
||||
//private RemoteServer m_remoteServer = null;
|
||||
|
||||
TreeStore tsActivityStore;
|
||||
TreeIter tIter = new TreeIter();
|
||||
|
||||
// used for secret list
|
||||
TreeStore store;
|
||||
TreeIter secretIter = new TreeIter();
|
||||
|
||||
private static string SHS_PASSWORD = "Password";
|
||||
private static string SHS_USERNAME = "Username";
|
||||
private static string SHS_OTHER = "Other";
|
||||
private static string SHS_BINARY = "Binary";
|
||||
private static string SHS_CN = "CN";
|
||||
private static string SHS_DN_LDAP = "DN_LDAP";
|
||||
private static string SHS_DN_NDAP = "DN_NDAP";
|
||||
private static string SHS_EMAIL = "EMAIL";
|
||||
|
||||
private DateTime date1970 = new DateTime(1970, 1, 1);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main(string[] args)
|
||||
{
|
||||
new Driver(args);
|
||||
}
|
||||
|
||||
|
||||
public Driver(string[] args)
|
||||
{
|
||||
Application.Init();
|
||||
|
||||
Glade.XML gxml = new Glade.XML (null, "gladesharp1.glade", "window1", null);
|
||||
gxml.Autoconnect (this);
|
||||
|
||||
treeview1.AppendColumn ("Secrets", new CellRendererText (), "text", 0);
|
||||
store = new TreeStore (typeof (string));
|
||||
store.SetSortColumnId(0, Gtk.SortType.Ascending);
|
||||
treeview1.Model = store;
|
||||
|
||||
|
||||
|
||||
listActivity.AppendColumn("Demo", new CellRendererText (), "text", 0);
|
||||
tsActivityStore = new TreeStore (typeof (string));
|
||||
listActivity.Model = tsActivityStore;
|
||||
|
||||
logActivity("SecretStore Started");
|
||||
//image1.Pixbuf = new Gdk.Pixbuf (null, "./Bitmap.bmp");
|
||||
//image1.Pixbuf = "c:/Bitmap.bmp";
|
||||
showSecrets();
|
||||
|
||||
// set Network login id
|
||||
entryLoginUser.Text = "cn="+getNetworkUserID()+",o=novell";
|
||||
|
||||
// get config
|
||||
//System.Configuration.ConfigurationSettings.AppSettings.Set("Jim", "Jim Value");
|
||||
|
||||
|
||||
Application.Run();
|
||||
}
|
||||
|
||||
|
||||
private void logActivity(string message)
|
||||
{
|
||||
tsActivityStore.Append (out tIter);
|
||||
tsActivityStore.SetValue (tIter, 0, "[" + DateTime.Now.ToShortTimeString() + "] "+ message);
|
||||
}
|
||||
// Connect the Signals defined in Glade
|
||||
public void on_window1_delete_event (object o, DeleteEventArgs args)
|
||||
{
|
||||
Application.Quit();
|
||||
args.RetVal = true;
|
||||
}
|
||||
|
||||
|
||||
#region Button Click Event handlers
|
||||
|
||||
protected void on_toolbutton1_clicked(object o, EventArgs args)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
protected void on_toolbutton2_clicked(object o, EventArgs args)
|
||||
{
|
||||
FileSelection fDlg = new FileSelection("Choose a File");
|
||||
fDlg.Modal = true;
|
||||
|
||||
int nRc = fDlg.Run();
|
||||
fDlg.Hide();
|
||||
|
||||
if(nRc == (int)ResponseType.Ok)
|
||||
{
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
protected void on_toolbutton3_clicked(object o, EventArgs args)
|
||||
{
|
||||
Application.Quit();
|
||||
return;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Menu item handlers
|
||||
|
||||
|
||||
|
||||
protected void on_quit1_activate(object o, EventArgs args)
|
||||
{
|
||||
Application.Quit();
|
||||
return;
|
||||
}
|
||||
|
||||
protected void on_create_sample_credential1_activate(object o, EventArgs args)
|
||||
{
|
||||
Secret secret = ss.getSecret(0, "SampleCredential", Secret.SS_CREDSET, "");
|
||||
secret.setKeyValuePair(SHS_CN,"userCN");
|
||||
secret.setKeyValuePair(SHS_DN_LDAP, "cn=admin,o=novell");
|
||||
secret.setKeyValuePair(SHS_DN_NDAP, "admin.novell");
|
||||
secret.setKeyValuePair(SHS_EMAIL, "admin@novell.com");
|
||||
secret.setKeyValuePair(SHS_PASSWORD, "userPassword");
|
||||
|
||||
ss.setSecret(0, secret, Secret.SS_CREDSET);
|
||||
showSecrets();
|
||||
}
|
||||
|
||||
|
||||
protected void on_cut1_activate(object o, EventArgs args)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
protected void on_copy1_activate(object o, EventArgs args)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
protected void on_delete1_activate(object o, EventArgs args)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
protected void on_paste1_activate(object o, EventArgs args)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
protected void on_about1_activate(object o, EventArgs args)
|
||||
{
|
||||
System.Text.StringBuilder AuthorStringBuild = new System.Text.StringBuilder ();
|
||||
|
||||
AuthorStringBuild.Append ("SecretStore Client Version 4.0\n\n");
|
||||
AuthorStringBuild.Append ("Sample GUI Application.\n");
|
||||
AuthorStringBuild.Append ("Copyright (c) 2004\n\n");
|
||||
|
||||
Gtk.MessageDialog md = new Gtk.MessageDialog (
|
||||
this.window1,
|
||||
DialogFlags.DestroyWithParent,
|
||||
MessageType.Info,
|
||||
ButtonsType.Ok,
|
||||
AuthorStringBuild.ToString ()
|
||||
);
|
||||
|
||||
int result = md.Run ();
|
||||
md.Hide();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
// Common functions use by buttons and menu items
|
||||
|
||||
|
||||
|
||||
|
||||
public void on_button8_clicked(object o, EventArgs args)
|
||||
{
|
||||
Console.WriteLine("Sync Called");
|
||||
}
|
||||
|
||||
private void showSecrets()
|
||||
{
|
||||
store.Clear();
|
||||
StringCollection sc = ss.enumerateSecretIDs();
|
||||
if (sc != null)
|
||||
{
|
||||
StringEnumerator se = sc.GetEnumerator();
|
||||
se.Reset();
|
||||
while (se.MoveNext())
|
||||
{
|
||||
//listBox2.Items.Add(se.Current);
|
||||
store.Append(out secretIter);
|
||||
store.SetValue(secretIter, 0, se.Current);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void on_button10_clicked (object o, EventArgs args)
|
||||
{
|
||||
|
||||
showSecrets();
|
||||
|
||||
/*
|
||||
for (int i=0; i<10; i++)
|
||||
{
|
||||
store.AppendValues("[ " + System.DateTime.Now.ToString() + " ]");
|
||||
treeview1.ShowAll();
|
||||
treeview1.Show();
|
||||
|
||||
System.Threading.Thread.Sleep(100);
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
public void on_btnDeleteSecret_clicked(object o, EventArgs args)
|
||||
{
|
||||
Console.WriteLine("on_btnDeleteSecret_clicked");
|
||||
|
||||
TreeModel model;
|
||||
TreeIter iter;
|
||||
string selected = "no selection";
|
||||
|
||||
// you get the iter and the model if something is selected
|
||||
if (treeview1.Selection.GetSelected (out model, out iter))
|
||||
selected = (string) model.GetValue (iter, 0);
|
||||
|
||||
Console.WriteLine (selected);
|
||||
ss.removeSecret(selected.Substring(11), 2);
|
||||
showSecrets();
|
||||
|
||||
}
|
||||
|
||||
public void on_btnAddSecret_clicked(object o, EventArgs args)
|
||||
{
|
||||
Glade.XML gxml = new Glade.XML (null, "gladesharp1.glade", "addSecretWindow", null);
|
||||
gxml.Autoconnect (this);
|
||||
|
||||
addSecretWindow.Show();
|
||||
}
|
||||
|
||||
public void on_btnOKAddSecret_clicked(object o, EventArgs args)
|
||||
{
|
||||
// add this secret
|
||||
string sSecretID = entrySecretID.Text;
|
||||
if (sSecretID != null && sSecretID.Length > 0)
|
||||
{
|
||||
string sUsername = entryUsername.Text;
|
||||
string sPassword = entryPassword.Text;
|
||||
if ((sUsername != null) && (sPassword != null))
|
||||
{
|
||||
Secret secret = ss.getSecret(0, sSecretID, Secret.SS_CREDSET, "");
|
||||
secret.setKeyValuePair(SHS_CN, sUsername);
|
||||
secret.setKeyValuePair(SHS_PASSWORD, sPassword);
|
||||
|
||||
// get the rest
|
||||
if (entryNDAP.Text != null && entryNDAP.Text.Length > 0)
|
||||
secret.setKeyValuePair(SHS_DN_NDAP, entryNDAP.Text);
|
||||
|
||||
if (entryLDAP.Text != null && entryLDAP.Text.Length > 0)
|
||||
secret.setKeyValuePair(SHS_DN_LDAP, entryLDAP.Text);
|
||||
|
||||
if (entryEMAIL.Text != null && entryEMAIL.Text.Length > 0)
|
||||
secret.setKeyValuePair(SHS_EMAIL, entryEMAIL.Text);
|
||||
|
||||
|
||||
|
||||
ss.setSecret(0, secret, Secret.SS_CREDSET);
|
||||
showSecrets();
|
||||
addSecretWindow.HideAll();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
System.Text.StringBuilder AuthorStringBuild = new System.Text.StringBuilder ();
|
||||
|
||||
AuthorStringBuild.Append ("You must enter a SecretID\n\n");
|
||||
|
||||
Gtk.MessageDialog md = new Gtk.MessageDialog (
|
||||
this.window1,
|
||||
DialogFlags.DestroyWithParent,
|
||||
MessageType.Warning,
|
||||
ButtonsType.Ok,
|
||||
AuthorStringBuild.ToString ()
|
||||
);
|
||||
|
||||
int result = md.Run ();
|
||||
md.Hide();
|
||||
}
|
||||
}
|
||||
public void on_btnCancelAddSecret_clicked(object o, EventArgs args)
|
||||
{
|
||||
addSecretWindow.HideAll();
|
||||
}
|
||||
|
||||
public void on_btnEditSecret_clicked(object o, EventArgs args)
|
||||
{
|
||||
// edit the selected secret
|
||||
TreeModel model;
|
||||
TreeIter iter;
|
||||
string selected = null; //"no selection";
|
||||
|
||||
// you get the iter and the model if something is selected
|
||||
if (treeview1.Selection.GetSelected (out model, out iter))
|
||||
selected = (string) model.GetValue (iter, 0);
|
||||
|
||||
if (selected != null && selected.Length > 0)
|
||||
{
|
||||
selected = selected.Substring(11);
|
||||
Secret secret = ss.getSecret(0, selected, Secret.SS_CREDSET, "");
|
||||
Glade.XML gxml = new Glade.XML (null, "gladesharp1.glade", "displaySecretWindow", null);
|
||||
gxml.Autoconnect (this);
|
||||
|
||||
TreeStore storeKeyValue = new TreeStore(typeof (string), typeof (string));
|
||||
storeKeyValue.SetSortColumnId(0, Gtk.SortType.Ascending);
|
||||
|
||||
TreeIter iterKV = new TreeIter();
|
||||
|
||||
NameValueCollection nvc = secret.getKeyValueCollection();
|
||||
|
||||
for (int i=0; i<nvc.Count; i++)
|
||||
{
|
||||
string key = nvc.GetKey(i);
|
||||
string[] sValues = nvc.GetValues(key);
|
||||
|
||||
//GLib.Value Key = new GLib.Value (key);
|
||||
//GLib.Value Value = new GLib.Value (sValues[0]);
|
||||
storeKeyValue.Append (out iterKV);
|
||||
storeKeyValue.SetValue (iterKV, 0, key);
|
||||
storeKeyValue.SetValue (iterKV, 1, secret.getKeyValue(key));
|
||||
}
|
||||
|
||||
|
||||
tvKeyValue.AppendColumn("Key", new CellRendererText(), "text", 0);
|
||||
tvKeyValue.AppendColumn("Value", new CellRendererText(), "text", 1);
|
||||
|
||||
tvKeyValue.Model = storeKeyValue;
|
||||
|
||||
label22.Text = selected;
|
||||
|
||||
DateTime created = date1970.AddSeconds(secret.getCreateTime());
|
||||
DateTime mod = date1970.AddSeconds(secret.getModifiedTime());
|
||||
DateTime accessTime = date1970.AddSeconds(secret.getAccessTime());
|
||||
|
||||
string test = created.ToLongDateString() + " @ " + created.ToLocalTime().ToShortTimeString();
|
||||
labelCreated.Text = test;
|
||||
|
||||
labelAccessed.Text = accessTime.ToLocalTime().ToLongDateString()+ " @ " + accessTime.ToLocalTime().ToShortTimeString();
|
||||
labelModified.Text = mod.ToLocalTime().ToLongDateString()+ " @ " + mod.ToLocalTime().ToShortTimeString();
|
||||
|
||||
displaySecretWindow.Show();
|
||||
}
|
||||
}
|
||||
|
||||
public void on_btnEditSecret1_clicked(object o, EventArgs args)
|
||||
{
|
||||
// edit the selected secret
|
||||
TreeModel model;
|
||||
TreeIter iter;
|
||||
string selected = "no selection";
|
||||
|
||||
// you get the iter and the model if something is selected
|
||||
if (treeview1.Selection.GetSelected (out model, out iter))
|
||||
selected = (string) model.GetValue (iter, 0);
|
||||
|
||||
|
||||
if (selected != null && selected.Length > 0)
|
||||
{
|
||||
selected = selected.Substring(11);
|
||||
Secret secret = ss.getSecret(0, selected, Secret.SS_CREDSET, "");
|
||||
|
||||
Glade.XML gxml = new Glade.XML (null, "gladesharp1.glade", "addSecretWindow", null);
|
||||
gxml.Autoconnect (this);
|
||||
|
||||
entrySecretID.Text = selected;
|
||||
entrySecretID.Editable = false;
|
||||
|
||||
if (secret.getKeyValue("CN") !=null)
|
||||
entryUsername.Text = secret.getKeyValue("CN");
|
||||
|
||||
if (secret.getKeyValue("password") !=null)
|
||||
entryPassword.Text = secret.getKeyValue("password");
|
||||
|
||||
addSecretWindow.Title = "Edit Secret";
|
||||
addSecretWindow.Show();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void on_btnRemoveAll_clicked(object o, EventArgs args)
|
||||
{
|
||||
|
||||
System.Text.StringBuilder AuthorStringBuild = new System.Text.StringBuilder ();
|
||||
|
||||
AuthorStringBuild.Append ("Remove All\n\n Are you sure?");
|
||||
|
||||
Gtk.MessageDialog md = new Gtk.MessageDialog (
|
||||
this.window1,
|
||||
DialogFlags.DestroyWithParent,
|
||||
MessageType.Question,
|
||||
ButtonsType.YesNo,
|
||||
AuthorStringBuild.ToString ()
|
||||
);
|
||||
|
||||
int result = md.Run ();
|
||||
md.Hide();
|
||||
|
||||
|
||||
if (result == -8)
|
||||
{
|
||||
//enum the secrets and remove
|
||||
StringCollection sc = ss.enumerateSecretIDs();
|
||||
if (sc != null)
|
||||
{
|
||||
StringEnumerator se = sc.GetEnumerator();
|
||||
se.Reset();
|
||||
while (se.MoveNext())
|
||||
{
|
||||
ss.removeSecret(se.Current.Substring(11),2);
|
||||
}
|
||||
}
|
||||
showSecrets();
|
||||
}
|
||||
}
|
||||
|
||||
private void getRemoteSecrets()
|
||||
{
|
||||
if (b_isAuthenticated)
|
||||
{
|
||||
logActivity("Getting remote secrets");
|
||||
string[] saSecrets = m_rs.enumerateSecrets();
|
||||
// add these secrets to our local cache
|
||||
if (saSecrets != null)
|
||||
{
|
||||
if (ss == null)
|
||||
ss = new SecretStore();
|
||||
|
||||
for (int i=0; i<saSecrets.Length; i++)
|
||||
{
|
||||
string sSecretID = saSecrets[i].Trim();
|
||||
//logActivity("Getting remote secret: "+sSecretID);
|
||||
RemoteSecret remoteSecret = m_rs.getSecret(sSecretID);
|
||||
if (remoteSecret != null)
|
||||
{
|
||||
// SS_Credset:
|
||||
logActivity("Adding remote secret: "+sSecretID);
|
||||
if (sSecretID.StartsWith("SS_Cred") || sSecretID.StartsWith("SS_App"))
|
||||
{
|
||||
Secret localSecret;
|
||||
int iSecretType = Secret.SS_BINARY;
|
||||
if (sSecretID.StartsWith("SS_Cred"))
|
||||
{
|
||||
localSecret = ss.getSecret(0, saSecrets[i].Trim().Substring(11), Secret.SS_CREDSET, null);
|
||||
iSecretType = Secret.SS_CREDSET;
|
||||
}
|
||||
else
|
||||
{
|
||||
localSecret = ss.getSecret(0, saSecrets[i].Trim().Substring(10), Secret.SS_APP, null);
|
||||
iSecretType = Secret.SS_APP;
|
||||
}
|
||||
|
||||
localSecret.mergeKeyValueCollection(remoteSecret.getKeyValueCollection());
|
||||
ss.setSecret(0, localSecret, iSecretType);
|
||||
}
|
||||
else
|
||||
{
|
||||
logActivity("Retrieved unhandled secret: "+sSecretID);
|
||||
}
|
||||
}
|
||||
else
|
||||
logActivity("Secret not found: "+sSecretID);
|
||||
}
|
||||
showSecrets();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
logActivity("User not authenticated to remote store");
|
||||
displayError("You are not authenticated to remote store");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void on_btnLogin_clicked(object o, EventArgs args)
|
||||
{
|
||||
if (!b_isAuthenticated)
|
||||
{
|
||||
|
||||
statusbar1.Push(1, "Authenticating to server please wait");
|
||||
System.Threading.Thread.Sleep(100);
|
||||
|
||||
|
||||
m_rs = RemoteStore.getInstance();
|
||||
string host = entryLoginServer.Text.Trim();
|
||||
string userId = entryLoginUser.Text.Trim();
|
||||
string password = entryLoginPassword.Text.Trim();
|
||||
logActivity("Authenticating to "+host);
|
||||
|
||||
try
|
||||
{
|
||||
m_rs.connect(host, userId, password, "");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
displayError(e.ToString());
|
||||
return;
|
||||
}
|
||||
|
||||
//logActivity("Authenticated!");
|
||||
|
||||
b_isAuthenticated = true;
|
||||
statusbar1.Push(1, "Authenticated to "+ host);
|
||||
logActivity("Authenticated");
|
||||
Gtk.Button login = (Gtk.Button)o;
|
||||
login.Label = "Logout";
|
||||
|
||||
|
||||
label11.LabelProp = "<b>Server Information -- Authenticated </b>";
|
||||
//label11.Text = "<b>Server Information</b> -- Authenticated to Server";
|
||||
getRemoteSecrets();
|
||||
}
|
||||
else
|
||||
{
|
||||
// logout
|
||||
b_isAuthenticated = false;
|
||||
Gtk.Button login = (Gtk.Button)o;
|
||||
label11.LabelProp = "<b>Server Information</b>";
|
||||
login.Label = "Login";
|
||||
statusbar1.Push(1, "Logged out");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void on_btnRefreshRemote_clicked(object o, EventArgs args)
|
||||
{
|
||||
getRemoteSecrets();
|
||||
showSecrets();
|
||||
}
|
||||
|
||||
|
||||
private void displayMessage(string message, MessageType messageType)
|
||||
{
|
||||
System.Text.StringBuilder AuthorStringBuild = new System.Text.StringBuilder ();
|
||||
|
||||
AuthorStringBuild.Append (message);
|
||||
|
||||
Gtk.MessageDialog md = new Gtk.MessageDialog (
|
||||
this.window1,
|
||||
DialogFlags.DestroyWithParent,
|
||||
MessageType.Warning,
|
||||
ButtonsType.Ok,
|
||||
AuthorStringBuild.ToString ()
|
||||
);
|
||||
|
||||
int result = md.Run ();
|
||||
md.Hide();
|
||||
}
|
||||
|
||||
private void displayMessageInfo(string message)
|
||||
{
|
||||
displayMessage(message, MessageType.Info);
|
||||
}
|
||||
private void displayError(string message)
|
||||
{
|
||||
displayMessage(message, MessageType.Warning);
|
||||
}
|
||||
|
||||
private void on_btnSyncFromServer_clicked(object o, EventArgs args)
|
||||
{
|
||||
getRemoteSecrets();
|
||||
}
|
||||
private void on_btnClearActivity_clicked(object o, EventArgs args)
|
||||
{
|
||||
tsActivityStore.Clear();
|
||||
}
|
||||
|
||||
private void on_btnSync2Server_clicked(object sender, EventArgs args)
|
||||
{
|
||||
if (b_isAuthenticated)
|
||||
{
|
||||
// get local secrets
|
||||
StringCollection sc = ss.enumerateSecretIDs();
|
||||
if (sc != null)
|
||||
{
|
||||
StringEnumerator se = sc.GetEnumerator();
|
||||
se.Reset();
|
||||
while (se.MoveNext())
|
||||
{
|
||||
|
||||
string sID = se.Current;
|
||||
|
||||
if (sID.StartsWith("SS_CredSet:"))
|
||||
{
|
||||
sID = sID.Substring(sID.IndexOf(":") + 1);
|
||||
//type = Secret.SS_CREDSET;
|
||||
}
|
||||
|
||||
Secret localSecret = ss.getSecret(0, sID, 2, null);
|
||||
|
||||
RemoteSecret rs = new RemoteSecret(sID, 0, 0 ,0);
|
||||
rs.setKeyValueCollection(localSecret.getKeyValueCollection());
|
||||
if (m_rs != null)
|
||||
{
|
||||
m_rs.setSecret(rs);
|
||||
logActivity("Sending " + se.Current + " to server");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void on_btnServerStartStop_clicked(object o, EventArgs args)
|
||||
{
|
||||
|
||||
Gtk.Button btn = (Gtk.Button)o;
|
||||
/*
|
||||
if (m_remoteServer == null)
|
||||
{
|
||||
m_remoteServer = new RemoteServer();
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
int iPort = Int32.Parse(entryServerPort.Text);
|
||||
m_remoteServer.startServer(iPort);
|
||||
labelServerStatus.Text = "Running";
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
displayError("Port in use\r\n"+ e.ToString());
|
||||
return;
|
||||
}
|
||||
|
||||
logActivity("Server started on port: "+entryServerPort.Text);
|
||||
btn.Label = "Stop Server";
|
||||
}
|
||||
else
|
||||
{
|
||||
m_remoteServer.stopServer();
|
||||
btn.Label = "Start Server";
|
||||
logActivity("Server stopped");
|
||||
labelServerStatus.Text = "Stopped";
|
||||
m_remoteServer = null;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
protected void on_btnGetRemoteSecrets_clicked(object o, EventArgs args)
|
||||
{
|
||||
|
||||
RemoteClient rc = new RemoteClient();
|
||||
|
||||
if ((entryHost.Text == null) || (entryHost.Text.Length < 1))
|
||||
{
|
||||
displayError("Please enter a Remote computer ");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
rc.openSocket(entryHost.Text, entryHostPort.Text);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
displayError(e.ToString());
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
StringCollection sc = rc.getRemoteSecretIDS();
|
||||
|
||||
if (sc != null)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("The following secrets were added:\r\n");
|
||||
StringEnumerator se = sc.GetEnumerator();
|
||||
se.Reset();
|
||||
while (se.MoveNext())
|
||||
{
|
||||
logActivity("Retrieved "+se.Current+" from " + entryHost.Text);
|
||||
Secret remoteSecret = rc.getRemoteSecret(se.Current);
|
||||
sb.Append(se.Current+"\r\n");
|
||||
|
||||
// add it to our local cache
|
||||
Secret localSecret = ss.getSecret(se.Current);
|
||||
localSecret.mergeKeyValueCollection(remoteSecret.getKeyValueCollection());
|
||||
ss.setSecret(0, localSecret, localSecret.getSecretType());
|
||||
}
|
||||
|
||||
displayMessageInfo(sb.ToString());
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
displayError(e.ToString());
|
||||
}
|
||||
|
||||
rc.closeSocket();
|
||||
showSecrets();
|
||||
}
|
||||
|
||||
private string getNetworkUserID()
|
||||
{
|
||||
|
||||
Secret sec = ss.getSecret("SS_Cred:Default_Credential");
|
||||
string sUsername = sec.getKeyValue("CN");
|
||||
|
||||
if (sUsername == null || sUsername.Length < 1)
|
||||
{
|
||||
sUsername = System.Environment.UserName.ToString();
|
||||
|
||||
}
|
||||
return sUsername;
|
||||
}
|
||||
}
|
||||
}
|
||||
155
c_sharp/GladeSharp2/GladeSharp2.csproj
Normal file
155
c_sharp/GladeSharp2/GladeSharp2.csproj
Normal file
@@ -0,0 +1,155 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP
|
||||
ProjectType = "Local"
|
||||
ProductVersion = "7.10.3077"
|
||||
SchemaVersion = "2.0"
|
||||
ProjectGuid = "{DC9434D2-9868-40BE-8AFA-F5CF9B6D5BC3}"
|
||||
>
|
||||
<Build>
|
||||
<Settings
|
||||
ApplicationIcon = ""
|
||||
AssemblyKeyContainerName = ""
|
||||
AssemblyName = "SecretStoreClientManager"
|
||||
AssemblyOriginatorKeyFile = ""
|
||||
DefaultClientScript = "JScript"
|
||||
DefaultHTMLPageLayout = "Grid"
|
||||
DefaultTargetSchema = "IE50"
|
||||
DelaySign = "false"
|
||||
OutputType = "WinExe"
|
||||
PreBuildEvent = ""
|
||||
PostBuildEvent = ""
|
||||
RootNamespace = ""
|
||||
RunPostBuildEvent = "OnBuildSuccess"
|
||||
StartupObject = ""
|
||||
>
|
||||
<Config
|
||||
Name = "Debug"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "DEBUG;TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "true"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "false"
|
||||
OutputPath = "bin\Debug\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "false"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "true"
|
||||
OutputPath = "bin\Release\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
</Settings>
|
||||
<References>
|
||||
<Reference
|
||||
Name = "System"
|
||||
AssemblyName = "System"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Data"
|
||||
AssemblyName = "System.Data"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.XML"
|
||||
AssemblyName = "System.Xml"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "atk-sharp"
|
||||
AssemblyName = "atk-sharp"
|
||||
HintPath = "C:\Program Files\Common Files\GTK\2.4\lib\gtk-sharp-2.0\atk-sharp.dll"
|
||||
AssemblyFolderKey = "hklm\gtk-sharp"
|
||||
/>
|
||||
<Reference
|
||||
Name = "gdk-sharp"
|
||||
AssemblyName = "gdk-sharp"
|
||||
HintPath = "C:\Program Files\Common Files\GTK\2.4\lib\gtk-sharp-2.0\gdk-sharp.dll"
|
||||
AssemblyFolderKey = "hklm\gtk-sharp"
|
||||
/>
|
||||
<Reference
|
||||
Name = "glade-sharp"
|
||||
AssemblyName = "glade-sharp"
|
||||
HintPath = "C:\Program Files\Common Files\GTK\2.4\lib\gtk-sharp-2.0\glade-sharp.dll"
|
||||
AssemblyFolderKey = "hklm\gtk-sharp"
|
||||
/>
|
||||
<Reference
|
||||
Name = "glib-sharp"
|
||||
AssemblyName = "glib-sharp"
|
||||
HintPath = "C:\Program Files\Common Files\GTK\2.4\lib\gtk-sharp-2.0\glib-sharp.dll"
|
||||
AssemblyFolderKey = "hklm\gtk-sharp"
|
||||
/>
|
||||
<Reference
|
||||
Name = "gtk-sharp"
|
||||
AssemblyName = "gtk-sharp"
|
||||
HintPath = "C:\Program Files\Common Files\GTK\2.4\lib\gtk-sharp-2.0\gtk-sharp.dll"
|
||||
AssemblyFolderKey = "hklm\gtk-sharp"
|
||||
/>
|
||||
<Reference
|
||||
Name = "pango-sharp"
|
||||
AssemblyName = "pango-sharp"
|
||||
HintPath = "C:\Program Files\Common Files\GTK\2.4\lib\gtk-sharp-2.0\pango-sharp.dll"
|
||||
AssemblyFolderKey = "hklm\gtk-sharp"
|
||||
/>
|
||||
<Reference
|
||||
Name = "NSSSWrapper"
|
||||
AssemblyName = "NSSSWrapper"
|
||||
HintPath = "..\NSSSWrapper\bin\Debug\NSSSWrapper.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "Novell.CASA.miCASAWrapper"
|
||||
AssemblyName = "Novell.CASA.miCASAWrapper"
|
||||
HintPath = "..\NSSCSWrapper\bin\Debug\Novell.CASA.miCASAWrapper.dll"
|
||||
/>
|
||||
</References>
|
||||
</Build>
|
||||
<Files>
|
||||
<Include>
|
||||
<File
|
||||
RelPath = "AssemblyInfo.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Driver.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "gladesharp1.glade"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "gladesharp1.xsx"
|
||||
DependentUpon = "gladesharp1.glade"
|
||||
BuildAction = "None"
|
||||
/>
|
||||
</Include>
|
||||
</Files>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
48
c_sharp/GladeSharp2/GladeSharp2.csproj.user
Normal file
48
c_sharp/GladeSharp2/GladeSharp2.csproj.user
Normal file
@@ -0,0 +1,48 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP LastOpenVersion = "7.10.3077" >
|
||||
<Build>
|
||||
<Settings ReferencePath = "D:\ccm\SSClient\SecretStoreClient_src\c_sharp\NSSCSWrapper\bin\Debug\;D:\ccm\SSClient\SecretStoreClient_src\c_sharp\NSSSWrapper\bin\Debug\;D:\ccm\SSClient\SecretStoreClient_src_KEEP3\c_sharp\NSSCSWrapper\bin\Debug\;D:\ccm\SSClient\SecretStoreClient_src_KEEP3\c_sharp\NSSSWrapper\bin\Debug\" >
|
||||
<Config
|
||||
Name = "Debug"
|
||||
EnableASPDebugging = "false"
|
||||
EnableASPXDebugging = "false"
|
||||
EnableUnmanagedDebugging = "false"
|
||||
EnableSQLServerDebugging = "false"
|
||||
RemoteDebugEnabled = "false"
|
||||
RemoteDebugMachine = ""
|
||||
StartAction = "Project"
|
||||
StartArguments = ""
|
||||
StartPage = ""
|
||||
StartProgram = ""
|
||||
StartURL = ""
|
||||
StartWorkingDirectory = ""
|
||||
StartWithIE = "true"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
EnableASPDebugging = "false"
|
||||
EnableASPXDebugging = "false"
|
||||
EnableUnmanagedDebugging = "false"
|
||||
EnableSQLServerDebugging = "false"
|
||||
RemoteDebugEnabled = "false"
|
||||
RemoteDebugMachine = ""
|
||||
StartAction = "Project"
|
||||
StartArguments = ""
|
||||
StartPage = ""
|
||||
StartProgram = ""
|
||||
StartURL = ""
|
||||
StartWorkingDirectory = ""
|
||||
StartWithIE = "false"
|
||||
/>
|
||||
</Settings>
|
||||
</Build>
|
||||
<OtherProjectSettings
|
||||
CopyProjectDestinationFolder = ""
|
||||
CopyProjectUncPath = ""
|
||||
CopyProjectOption = "0"
|
||||
ProjectView = "ProjectFiles"
|
||||
ProjectTrust = "0"
|
||||
/>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
37
c_sharp/GladeSharp2/GladeSharp2.sln
Normal file
37
c_sharp/GladeSharp2/GladeSharp2.sln
Normal file
@@ -0,0 +1,37 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GladeSharp2", "GladeSharp2.csproj", "{DC9434D2-9868-40BE-8AFA-F5CF9B6D5BC3}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.CASA.miCASAWrapper", "..\NSSCSWrapper\Novell.CASA.miCASAWrapper.csproj", "{E21DD887-22F4-4935-9851-409715F663B0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.SecretStore.NSSSWrapper", "..\NSSSWrapper\Novell.SecretStore.NSSSWrapper.csproj", "{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Release = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{DC9434D2-9868-40BE-8AFA-F5CF9B6D5BC3}.Debug.ActiveCfg = Debug|.NET
|
||||
{DC9434D2-9868-40BE-8AFA-F5CF9B6D5BC3}.Debug.Build.0 = Debug|.NET
|
||||
{DC9434D2-9868-40BE-8AFA-F5CF9B6D5BC3}.Release.ActiveCfg = Release|.NET
|
||||
{DC9434D2-9868-40BE-8AFA-F5CF9B6D5BC3}.Release.Build.0 = Release|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Debug.ActiveCfg = Debug|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Debug.Build.0 = Debug|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Release.ActiveCfg = Release|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Release.Build.0 = Release|.NET
|
||||
{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}.Debug.ActiveCfg = Debug|.NET
|
||||
{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}.Debug.Build.0 = Debug|.NET
|
||||
{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}.Release.ActiveCfg = Release|.NET
|
||||
{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}.Release.Build.0 = Release|.NET
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
BIN
c_sharp/GladeSharp2/GladeSharp2.suo
Normal file
BIN
c_sharp/GladeSharp2/GladeSharp2.suo
Normal file
Binary file not shown.
1954
c_sharp/GladeSharp2/gladesharp1.glade
Normal file
1954
c_sharp/GladeSharp2/gladesharp1.glade
Normal file
File diff suppressed because it is too large
Load Diff
8
c_sharp/GladeSharp2/gladesharp1.gladep
Normal file
8
c_sharp/GladeSharp2/gladesharp1.gladep
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
|
||||
|
||||
<glade-project>
|
||||
<name></name>
|
||||
<program_name></program_name>
|
||||
<gnome_support>FALSE</gnome_support>
|
||||
</glade-project>
|
||||
3
c_sharp/GladeSharp2/gladesharp1.xsx
Normal file
3
c_sharp/GladeSharp2/gladesharp1.xsx
Normal file
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--This file is auto-generated by the XML Schema Designer. It holds layout information for components on the designer surface.-->
|
||||
<XSDDesignerLayout />
|
||||
BIN
c_sharp/GladeSharp2/pixmaps/Bitmap.bmp
Normal file
BIN
c_sharp/GladeSharp2/pixmaps/Bitmap.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 104 KiB |
BIN
c_sharp/GladeSharp2/pixmaps/Thumbs.db
Normal file
BIN
c_sharp/GladeSharp2/pixmaps/Thumbs.db
Normal file
Binary file not shown.
BIN
c_sharp/GladeSharp2/pixmaps/banner.bmp
Normal file
BIN
c_sharp/GladeSharp2/pixmaps/banner.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
58
c_sharp/NSSCSWrapper/AssemblyInfo.cs
Normal file
58
c_sharp/NSSCSWrapper/AssemblyInfo.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Novell, Inc")]
|
||||
[assembly: AssemblyProduct("miCASA Identity Store Wrapper")]
|
||||
[assembly: AssemblyCopyright("All Rights Reserved")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
30
c_sharp/NSSCSWrapper/BasicCredential.cs
Normal file
30
c_sharp/NSSCSWrapper/BasicCredential.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
|
||||
namespace Novell.CASA
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for BasicCredential.
|
||||
/// </summary>
|
||||
public class BasicCredential
|
||||
{
|
||||
|
||||
private string m_username = "";
|
||||
private string m_password = "";
|
||||
|
||||
public BasicCredential(string username, string password)
|
||||
{
|
||||
m_username = username;
|
||||
m_password = password;
|
||||
}
|
||||
|
||||
public string GetUsername()
|
||||
{
|
||||
return m_username;
|
||||
}
|
||||
|
||||
public string GetPassword()
|
||||
{
|
||||
return m_password;
|
||||
}
|
||||
}
|
||||
}
|
||||
20
c_sharp/NSSCSWrapper/Makefile
Normal file
20
c_sharp/NSSCSWrapper/Makefile
Normal file
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# configure environment
|
||||
#
|
||||
TARGET = Novell.CASA.miCASAWrapper
|
||||
CS_NAME = $(TARGET)$(xtra).$(CSH)
|
||||
include global.mak
|
||||
include defaults.$(PLAT)
|
||||
include rules.mak
|
||||
|
||||
|
||||
#
|
||||
# target object and source files
|
||||
#
|
||||
include src.$(PLAT)
|
||||
include objs.$(PLAT)
|
||||
|
||||
#
|
||||
# targets
|
||||
#
|
||||
include target.cs
|
||||
1317
c_sharp/NSSCSWrapper/NativeCalls.cs
Normal file
1317
c_sharp/NSSCSWrapper/NativeCalls.cs
Normal file
File diff suppressed because it is too large
Load Diff
145
c_sharp/NSSCSWrapper/Novell.CASA.miCASAWrapper.csproj
Normal file
145
c_sharp/NSSCSWrapper/Novell.CASA.miCASAWrapper.csproj
Normal file
@@ -0,0 +1,145 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP
|
||||
ProjectType = "Local"
|
||||
ProductVersion = "7.10.3077"
|
||||
SchemaVersion = "2.0"
|
||||
ProjectGuid = "{E21DD887-22F4-4935-9851-409715F663B0}"
|
||||
>
|
||||
<Build>
|
||||
<Settings
|
||||
ApplicationIcon = ""
|
||||
AssemblyKeyContainerName = ""
|
||||
AssemblyName = "Novell.CASA.miCASAWrapper"
|
||||
AssemblyOriginatorKeyFile = ""
|
||||
DefaultClientScript = "JScript"
|
||||
DefaultHTMLPageLayout = "Grid"
|
||||
DefaultTargetSchema = "IE50"
|
||||
DelaySign = "false"
|
||||
OutputType = "Library"
|
||||
PreBuildEvent = ""
|
||||
PostBuildEvent = ""
|
||||
RootNamespace = "Novell.CASA"
|
||||
RunPostBuildEvent = "OnBuildSuccess"
|
||||
StartupObject = ""
|
||||
>
|
||||
<Config
|
||||
Name = "Debug"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "DEBUG;TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "true"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "false"
|
||||
OutputPath = "bin\Debug\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "false"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "true"
|
||||
OutputPath = "bin\Release\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
</Settings>
|
||||
<References>
|
||||
<Reference
|
||||
Name = "System"
|
||||
AssemblyName = "System"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Data"
|
||||
AssemblyName = "System.Data"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.XML"
|
||||
AssemblyName = "System.Xml"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Runtime.Remoting"
|
||||
AssemblyName = "System.Runtime.Remoting"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Runtime.Remoting.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "Novell.CASA.Common"
|
||||
Project = "{57CD94A2-5B4A-40C3-8189-CB760FB78357}"
|
||||
Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
|
||||
/>
|
||||
</References>
|
||||
</Build>
|
||||
<Files>
|
||||
<Include>
|
||||
<File
|
||||
RelPath = "AssemblyInfo.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "BasicCredential.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "miCASA.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "miCasaException.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "NativeCalls.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "RemoteClient.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "RemoteServer.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Secret.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "SecretStore.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
</Include>
|
||||
</Files>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
48
c_sharp/NSSCSWrapper/Novell.CASA.miCASAWrapper.csproj.user
Normal file
48
c_sharp/NSSCSWrapper/Novell.CASA.miCASAWrapper.csproj.user
Normal file
@@ -0,0 +1,48 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP LastOpenVersion = "7.10.3077" >
|
||||
<Build>
|
||||
<Settings ReferencePath = "D:\casa\c_micasad\lib\bin\Debug\;D:\casa2\c_micasad\lib\bin\Debug\" >
|
||||
<Config
|
||||
Name = "Debug"
|
||||
EnableASPDebugging = "false"
|
||||
EnableASPXDebugging = "false"
|
||||
EnableUnmanagedDebugging = "true"
|
||||
EnableSQLServerDebugging = "false"
|
||||
RemoteDebugEnabled = "false"
|
||||
RemoteDebugMachine = ""
|
||||
StartAction = "Project"
|
||||
StartArguments = ""
|
||||
StartPage = ""
|
||||
StartProgram = ""
|
||||
StartURL = ""
|
||||
StartWorkingDirectory = ""
|
||||
StartWithIE = "true"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
EnableASPDebugging = "false"
|
||||
EnableASPXDebugging = "false"
|
||||
EnableUnmanagedDebugging = "false"
|
||||
EnableSQLServerDebugging = "false"
|
||||
RemoteDebugEnabled = "false"
|
||||
RemoteDebugMachine = ""
|
||||
StartAction = "Project"
|
||||
StartArguments = ""
|
||||
StartPage = ""
|
||||
StartProgram = ""
|
||||
StartURL = ""
|
||||
StartWorkingDirectory = ""
|
||||
StartWithIE = "true"
|
||||
/>
|
||||
</Settings>
|
||||
</Build>
|
||||
<OtherProjectSettings
|
||||
CopyProjectDestinationFolder = ""
|
||||
CopyProjectUncPath = ""
|
||||
CopyProjectOption = "0"
|
||||
ProjectView = "ShowAllFiles"
|
||||
ProjectTrust = "0"
|
||||
/>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
21
c_sharp/NSSCSWrapper/Novell.SecretStoreClient.sln
Normal file
21
c_sharp/NSSCSWrapper/Novell.SecretStoreClient.sln
Normal file
@@ -0,0 +1,21 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.SecretStoreClient.NSSCSWrapper", "Novell.SecretStoreClient.NSSCSWrapper.csproj", "{E21DD887-22F4-4935-9851-409715F663B0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Release = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Debug.ActiveCfg = Debug|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Debug.Build.0 = Debug|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Release.ActiveCfg = Release|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Release.Build.0 = Release|.NET
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
BIN
c_sharp/NSSCSWrapper/Novell.SecretStoreClient.suo
Normal file
BIN
c_sharp/NSSCSWrapper/Novell.SecretStoreClient.suo
Normal file
Binary file not shown.
89
c_sharp/NSSCSWrapper/RemoteClient.cs
Normal file
89
c_sharp/NSSCSWrapper/RemoteClient.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.Collections.Specialized;
|
||||
using System.Runtime.Remoting;
|
||||
using System.Runtime.Remoting.Channels;
|
||||
using System.Runtime.Remoting.Channels.Tcp;
|
||||
|
||||
namespace Novell.CASA
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for RemoteClient.
|
||||
/// </summary>
|
||||
public class RemoteClient
|
||||
{
|
||||
|
||||
private SecretStore obj;
|
||||
TcpChannel chan = null;
|
||||
|
||||
public RemoteClient()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public void openSocket(string serverAddr, string sPort)
|
||||
{
|
||||
// Create a channel for communicating w/ the remote object
|
||||
// Notice no port is specified on the client
|
||||
chan = new TcpChannel();
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
ChannelServices.RegisterChannel(chan);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
// Create an instance of the remote object
|
||||
obj = (SecretStore) Activator.GetObject(
|
||||
typeof(Novell.CASA.SecretStore),
|
||||
"tcp://"+serverAddr + ":" + sPort + "/enumerateSecretIDs" );
|
||||
}
|
||||
|
||||
public void closeSocket()
|
||||
{
|
||||
if (chan != null)
|
||||
{
|
||||
ChannelServices.UnregisterChannel(chan);
|
||||
//chan = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public StringCollection getRemoteSecretIDS()
|
||||
{
|
||||
// Use the object
|
||||
try
|
||||
{
|
||||
if( obj.Equals(null) )
|
||||
{
|
||||
System.Console.WriteLine("Error: unable to locate server");
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Console.WriteLine(obj.enumerateSecretIDs());
|
||||
return obj.enumerateSecretIDs();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
public Secret getRemoteSecret(string id)
|
||||
{
|
||||
|
||||
if (obj.Equals(null))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return obj.getSecret(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
65
c_sharp/NSSCSWrapper/RemoteServer.cs
Normal file
65
c_sharp/NSSCSWrapper/RemoteServer.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Runtime.Remoting;
|
||||
using System.Runtime.Remoting.Channels;
|
||||
using System.Runtime.Remoting.Channels.Tcp;
|
||||
|
||||
namespace Novell.CASA
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for RemoteServer.
|
||||
/// </summary>
|
||||
public class RemoteServer
|
||||
{
|
||||
|
||||
|
||||
TcpChannel channel;
|
||||
public RemoteServer()
|
||||
{
|
||||
//
|
||||
// TODO: Add constructor logic here
|
||||
//
|
||||
}
|
||||
|
||||
public void startServer(int port)
|
||||
{
|
||||
int iPort = port;
|
||||
if (iPort == 0)
|
||||
iPort = 8080;
|
||||
|
||||
channel = new TcpChannel(iPort);
|
||||
|
||||
try
|
||||
{
|
||||
ChannelServices.RegisterChannel(channel);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
|
||||
// Register as an available service with the name HelloWorld
|
||||
RemotingConfiguration.RegisterWellKnownServiceType(
|
||||
typeof(SecretStore),
|
||||
"enumerateSecretIDs",
|
||||
WellKnownObjectMode.SingleCall );
|
||||
|
||||
RemotingConfiguration.RegisterWellKnownServiceType(
|
||||
typeof(SecretStore),
|
||||
"getSecret(string id)",
|
||||
WellKnownObjectMode.SingleCall );
|
||||
|
||||
System.Console.WriteLine("Server Started on "+ iPort);
|
||||
// System.Console.ReadLine();
|
||||
//return 0;
|
||||
}
|
||||
|
||||
public void stopServer()
|
||||
{
|
||||
if (channel != null)
|
||||
{
|
||||
System.Console.WriteLine("Stopping server");
|
||||
ChannelServices.UnregisterChannel(channel);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
194
c_sharp/NSSCSWrapper/Secret.cs
Normal file
194
c_sharp/NSSCSWrapper/Secret.cs
Normal file
@@ -0,0 +1,194 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
using System.Collections.Specialized;
|
||||
using Novell.CASA.MiCasa.Common;
|
||||
using Novell.CASA.MiCasa.Communication;
|
||||
|
||||
namespace Novell.CASA
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for Secret.
|
||||
/// </summary>
|
||||
public class Secret : MarshalByRefObject
|
||||
{
|
||||
internal IntPtr m_pHsc;
|
||||
private string m_keyChainID;
|
||||
private uint m_ssFlags;
|
||||
internal IntPtr m_secretHandle;
|
||||
private string m_secretID;
|
||||
private string m_epPassword = null;
|
||||
private uint m_iCreateTime = 0;
|
||||
private uint m_iModifyTime = 0;
|
||||
private uint m_iAccessTime = 0;
|
||||
internal int m_type = 0;
|
||||
|
||||
// holds name value pairs for this secret
|
||||
private System.Collections.Specialized.NameValueCollection m_nvc;
|
||||
private byte[] m_baValue = null;
|
||||
|
||||
public static int SS_APP = 1;
|
||||
public static int SS_CREDSET = 2;
|
||||
public static int SS_BINARY = 4;
|
||||
|
||||
|
||||
// constructor
|
||||
internal Secret(
|
||||
IntPtr pHSC,
|
||||
string sKeyChainID,
|
||||
uint iSSFlags,
|
||||
IntPtr ptrHandle,
|
||||
string sSecretID,
|
||||
int iSecretType,
|
||||
string sEPPassword)
|
||||
{
|
||||
m_pHsc = pHSC;
|
||||
m_keyChainID = sKeyChainID;
|
||||
m_ssFlags = iSSFlags;
|
||||
m_secretHandle = ptrHandle;
|
||||
m_secretID = sSecretID;
|
||||
m_epPassword = sEPPassword;
|
||||
|
||||
m_type = iSecretType;
|
||||
|
||||
if (sSecretID.StartsWith("SS_CredSet"))
|
||||
m_type = Secret.SS_CREDSET;
|
||||
else if (sSecretID.StartsWith("SS_App"))
|
||||
m_type = Secret.SS_APP;
|
||||
else if (sSecretID.StartsWith("SS_Binary"))
|
||||
m_type = Secret.SS_BINARY;
|
||||
|
||||
// create collection
|
||||
m_nvc = new System.Collections.Specialized.NameValueCollection();
|
||||
|
||||
}
|
||||
|
||||
// TO clean up SecretHandle
|
||||
|
||||
public string getID()
|
||||
{
|
||||
return m_secretID;
|
||||
}
|
||||
|
||||
public void setKeyValuePair(string sKey, string sKeyValue)
|
||||
{
|
||||
if (m_type == Secret.SS_APP)
|
||||
m_nvc.Add(sKey, sKeyValue);
|
||||
else
|
||||
m_nvc.Set(sKey, sKeyValue);
|
||||
}
|
||||
|
||||
public byte[] getBinaryValue()
|
||||
{
|
||||
return m_baValue;
|
||||
}
|
||||
|
||||
// used for binary secrets, throws exception if not
|
||||
public void setBinaryValue(byte[] baData)
|
||||
{
|
||||
// make sure this is a binary secret
|
||||
if (this.m_type == SS_BINARY)
|
||||
{
|
||||
m_baValue = baData;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception();
|
||||
}
|
||||
}
|
||||
|
||||
public string[] getKeyValues(string sKey)
|
||||
{
|
||||
return m_nvc.GetValues(sKey);
|
||||
}
|
||||
|
||||
public string getKeyValue(string sKey)
|
||||
{
|
||||
return m_nvc.Get(sKey);
|
||||
}
|
||||
|
||||
public int getSecretType()
|
||||
{
|
||||
return this.m_type;
|
||||
}
|
||||
|
||||
// public string getSecretValue()
|
||||
// {
|
||||
// // TODO this is for a raw secret, just an ID and value
|
||||
// // should be only one key in the NameValueCollection
|
||||
// }
|
||||
|
||||
public NameValueCollection getKeyValueCollection()
|
||||
{
|
||||
return m_nvc;
|
||||
}
|
||||
|
||||
public void mergeKeyValueCollection(NameValueCollection nvc)
|
||||
{
|
||||
//if (m_nvc == null)
|
||||
m_nvc = nvc;
|
||||
}
|
||||
|
||||
public void setEnhancedProtectionPassword(string sEPPassword)
|
||||
{
|
||||
m_epPassword = sEPPassword;
|
||||
}
|
||||
|
||||
internal string getEnhancedProtectionPassword()
|
||||
{
|
||||
return m_epPassword;
|
||||
}
|
||||
|
||||
public bool isEnhancedProtected()
|
||||
{
|
||||
if (m_epPassword != null)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
public void removeKey(string sKey, uint ctxFlags)
|
||||
{
|
||||
//call the ndk to remove that one too.
|
||||
NativeCalls.removeKeyValue(this.m_secretHandle, sKey, m_nvc.Get(sKey), ctxFlags);
|
||||
|
||||
// remove from our collection
|
||||
m_nvc.Remove(sKey);
|
||||
}
|
||||
|
||||
internal void setTimeStamps(uint uiCreated, uint uiModified, uint uiAccessed)
|
||||
{
|
||||
m_iCreateTime = uiCreated;
|
||||
m_iModifyTime = uiModified;
|
||||
m_iAccessTime = uiAccessed;
|
||||
}
|
||||
|
||||
public uint getCreateTime()
|
||||
{
|
||||
return m_iCreateTime;
|
||||
}
|
||||
|
||||
public uint getModifiedTime()
|
||||
{
|
||||
return m_iModifyTime;
|
||||
}
|
||||
|
||||
public uint getAccessTime()
|
||||
{
|
||||
return m_iAccessTime;
|
||||
}
|
||||
|
||||
public Hashtable GetLinkedKeys(string sKey)
|
||||
{
|
||||
Hashtable htLinkedKeys = (Hashtable)MiCasaRequestReply.Send(MiCasaRequestReply.VERB_GET_LINKED_KEYS,
|
||||
null,
|
||||
this.getID(),
|
||||
sKey,
|
||||
null);
|
||||
|
||||
|
||||
return htLinkedKeys;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
163
c_sharp/NSSCSWrapper/SecretStore.cs
Normal file
163
c_sharp/NSSCSWrapper/SecretStore.cs
Normal file
@@ -0,0 +1,163 @@
|
||||
using System;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
|
||||
namespace Novell.CASA
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents the SecretStore
|
||||
/// </summary>
|
||||
public class SecretStore : MarshalByRefObject
|
||||
{
|
||||
private string m_sMasterPassword = null;
|
||||
private static string SESSION_KEY_CHAIN = "SSCS_SESSION_KEY_CHAIN_ID";
|
||||
public static string LOCAL_REMOTE_KEY_CHAIN = "SSCS_LOCAL_REMOTE_KEY_CHAIN_ID";
|
||||
|
||||
private NativeCalls m_NativeCalls = null;
|
||||
private IntPtr m_hsc = IntPtr.Zero;
|
||||
|
||||
public SecretStore()
|
||||
{
|
||||
doSetup();
|
||||
}
|
||||
|
||||
private void doSetup()
|
||||
{
|
||||
m_NativeCalls = new NativeCalls();
|
||||
m_hsc = m_NativeCalls.openSecretStore("SecretStore");
|
||||
//Console.WriteLine("Session handle: {0}", m_hsc);
|
||||
}
|
||||
|
||||
public static SecretStore getInstance()
|
||||
{
|
||||
SecretStore newSS = new SecretStore();
|
||||
|
||||
// Test code for new APIS
|
||||
/*
|
||||
miCASA.SetCredential(0, "MyTestApp", null, 0, "MyTestAPPName", "MyTestAPPPassword");
|
||||
BasicCredential bc = miCASA.GetCredential(0, "MyTestApp", "Network", 0);
|
||||
if (bc != null)
|
||||
{
|
||||
Console.WriteLine("------");
|
||||
Console.WriteLine("Username = " + bc.GetUsername());
|
||||
Console.WriteLine("Password = " + bc.GetPassword());
|
||||
Console.WriteLine("------");
|
||||
}
|
||||
|
||||
|
||||
miCASA.RemoveCredential(0, "MyTestApp", null);
|
||||
|
||||
try
|
||||
{
|
||||
miCASA.RemoveCredential(0, "MyTestApp", null);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine("ClearCredential returned " + e.ToString());
|
||||
}
|
||||
*/
|
||||
// end test code
|
||||
|
||||
return newSS;
|
||||
}
|
||||
|
||||
public static void ReleaseInstance()
|
||||
{
|
||||
// TODO:
|
||||
|
||||
}
|
||||
|
||||
|
||||
internal Secret getSecret(string sKeyChainID, uint ssFlags, string sSecretID, int iSecretType, string sEPPassword)
|
||||
{
|
||||
if (m_NativeCalls != null)
|
||||
return m_NativeCalls.getSecret(m_hsc, sKeyChainID, ssFlags, sSecretID, iSecretType, sEPPassword);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Secret getSecret(string id)
|
||||
{
|
||||
string sSecretId = id;
|
||||
int iSecretType = Secret.SS_BINARY;
|
||||
|
||||
Console.WriteLine("GetSecret called for "+id);
|
||||
if (sSecretId.StartsWith("SS_CredSet"))
|
||||
{
|
||||
sSecretId = sSecretId.Substring(11);
|
||||
iSecretType = Secret.SS_CREDSET;
|
||||
}
|
||||
else if (sSecretId.StartsWith("SS_App"))
|
||||
{
|
||||
sSecretId = sSecretId.Substring(10);
|
||||
iSecretType = Secret.SS_APP;
|
||||
}
|
||||
|
||||
return getSecret(0, sSecretId, iSecretType, "");
|
||||
}
|
||||
|
||||
public Secret getSecret(uint ssFlags, string sSecretID, int iSecretType, string sEPPassword)
|
||||
{
|
||||
return getSecret(SESSION_KEY_CHAIN, ssFlags, sSecretID, iSecretType, sEPPassword);
|
||||
}
|
||||
|
||||
public void setSecret(uint flags, string sKeyChainID, Secret secret, int iSecretType)
|
||||
{
|
||||
m_NativeCalls.setSecret(m_hsc, sKeyChainID, flags, secret, iSecretType);
|
||||
}
|
||||
|
||||
public void setSecret(uint flags, Secret secret, int iSecretType)
|
||||
{
|
||||
// call the native calls to write this secret
|
||||
m_NativeCalls.setSecret(m_hsc, SESSION_KEY_CHAIN, flags, secret, iSecretType);
|
||||
}
|
||||
|
||||
private void setSecret(uint flags, string sSecretID, string sEPPassword)
|
||||
{
|
||||
//setSecret(flags, SESSION_KEY_CHAIN, sSecretID, sEPPassword);
|
||||
}
|
||||
|
||||
public void removeSecret(uint ssFlags, string sKeyChainID, string sEPPassword, string sSecretID, int iSecretType)
|
||||
{
|
||||
m_NativeCalls.RemoveSecret(m_hsc, ssFlags, sKeyChainID, sEPPassword, sSecretID, iSecretType);
|
||||
}
|
||||
|
||||
public void removeSecret(string sSecretID, int iSecretType)
|
||||
{
|
||||
removeSecret(0, SESSION_KEY_CHAIN, "", sSecretID, iSecretType);
|
||||
}
|
||||
|
||||
|
||||
private void enumerateKeychainIDs(string sSearchSting)
|
||||
{
|
||||
if (m_NativeCalls != null)
|
||||
{
|
||||
//m_NativeCalls.enumKeychainIDs();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void setMasterPassword(string sMasterPassword)
|
||||
{
|
||||
m_sMasterPassword = sMasterPassword;
|
||||
}
|
||||
|
||||
public StringCollection enumerateSecretIDs()
|
||||
{
|
||||
return enumerateSecretIDs(SESSION_KEY_CHAIN);
|
||||
}
|
||||
|
||||
|
||||
public StringCollection enumerateSecretIDs(string sKeyChainID)
|
||||
{
|
||||
return m_NativeCalls.EnumerateSecretIDs(m_hsc, 0, sKeyChainID, "");
|
||||
}
|
||||
public void addKeyChain(string sKeyChainID)
|
||||
{
|
||||
m_NativeCalls.AddKeyChain(m_hsc, 0, sKeyChainID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
125
c_sharp/NSSCSWrapper/miCASA.cs
Normal file
125
c_sharp/NSSCSWrapper/miCASA.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
using System;
|
||||
using Novell.CASA;
|
||||
|
||||
namespace Novell.CASA
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for miCASA.
|
||||
/// </summary>
|
||||
public class miCASA
|
||||
{
|
||||
|
||||
public static uint USERNAME_TYPE_CN_F = 0x00000000;
|
||||
public static uint USERNAME_TYPE_NDS_DN_F = 0x00000001;
|
||||
public static uint USERNAME_TYPE_NDS_FDN_F = 0x00000002;
|
||||
public static uint USERNAME_TYPE_LDAP_DN_F = 0x00000004;
|
||||
public static uint USERNAME_TYPE_EMAIL_F = 0x00000008;
|
||||
public static uint USERNAME_TYPE_OTHER_F = 0x00000010;
|
||||
|
||||
public miCASA()
|
||||
{
|
||||
//
|
||||
// TODO: Add constructor logic here
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
public static void SetBasicCredential(
|
||||
string sAppSecretID,
|
||||
string sSharedSecretID,
|
||||
string sUsername,
|
||||
string sPassword)
|
||||
{
|
||||
SetCredential(0, sAppSecretID, sSharedSecretID, 0, sUsername, sPassword);
|
||||
}
|
||||
|
||||
public static string GetCredentialUsername(
|
||||
string sAppSecretID,
|
||||
string sSharedSecretID)
|
||||
|
||||
{
|
||||
BasicCredential bc = GetBasicCredential(sAppSecretID, sSharedSecretID);
|
||||
if (bc != null)
|
||||
return bc.GetUsername();
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public static string GetCredentialPassword(
|
||||
string sAppSecretID,
|
||||
string sSharedSecretID)
|
||||
|
||||
{
|
||||
BasicCredential bc = GetBasicCredential(sAppSecretID, sSharedSecretID);
|
||||
if (bc != null)
|
||||
return bc.GetPassword();
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static BasicCredential GetBasicCredential(
|
||||
string sAppSecretID,
|
||||
string sSharedSecretID)
|
||||
{
|
||||
return GetCredential(0, sAppSecretID, sSharedSecretID, miCASA.USERNAME_TYPE_CN_F);
|
||||
}
|
||||
|
||||
public static void RemoveBasicCredential(
|
||||
string sAppSecretID,
|
||||
string sSharedSecretID)
|
||||
{
|
||||
RemoveCredential(0, sAppSecretID, sSharedSecretID);
|
||||
}
|
||||
|
||||
|
||||
public static void SetCredential(
|
||||
uint ssFlags,
|
||||
string sAppSecretID,
|
||||
string sSharedSecretID,
|
||||
uint unFlag,
|
||||
string sUsername,
|
||||
string sPassword)
|
||||
{
|
||||
NativeCalls.SetCredential(ssFlags, sAppSecretID, sSharedSecretID, unFlag, sUsername, sPassword);
|
||||
}
|
||||
|
||||
public static BasicCredential GetCredential(
|
||||
uint ssFlags,
|
||||
string sAppSecretID,
|
||||
string sSharedSecretID,
|
||||
uint unFlag)
|
||||
|
||||
{
|
||||
return NativeCalls.GetCredential(ssFlags, sAppSecretID, sSharedSecretID, unFlag);
|
||||
}
|
||||
|
||||
public static void RemoveCredential(
|
||||
uint ssFlags,
|
||||
string sAppSecretID,
|
||||
string sSharedSecretID)
|
||||
{
|
||||
NativeCalls.RemoveCredential(ssFlags, sAppSecretID, sSharedSecretID);
|
||||
}
|
||||
public static int SetMasterPasscode(
|
||||
uint ssFlags,
|
||||
string passcodeStr)
|
||||
{
|
||||
return NativeCalls.SetMasterPasscode(ssFlags,passcodeStr);
|
||||
}
|
||||
public static int SetMasterPassword(
|
||||
uint ssFlags,
|
||||
string mPasswd)
|
||||
{
|
||||
return NativeCalls.SetMasterPassword(ssFlags,mPasswd);
|
||||
}
|
||||
public static bool IsSecretPersistent(
|
||||
uint ssFlags,
|
||||
string secretID)
|
||||
{
|
||||
return NativeCalls.IsSecretPersistent(ssFlags,secretID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
493
c_sharp/NSSCSWrapper/miCasaException.cs
Normal file
493
c_sharp/NSSCSWrapper/miCasaException.cs
Normal file
@@ -0,0 +1,493 @@
|
||||
using System;
|
||||
|
||||
namespace Novell.CASA
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for MiCasaException.
|
||||
/// </summary>
|
||||
public class miCasaException:Exception
|
||||
{
|
||||
|
||||
int m_iException = 0;
|
||||
|
||||
public const int NSSCS_E_OBJECT_NOT_FOUND = -800; //0xFFFFFCE0; /* -800 */
|
||||
|
||||
/**
|
||||
* NICI operations have failed.
|
||||
*/
|
||||
public const int NSSCS_E_NICI_FAILURE = -801;
|
||||
|
||||
/**
|
||||
* Secret ID is not in the User Secret Store.
|
||||
*/
|
||||
public const int NSSCS_E_INVALID_SECRET_ID = -802;
|
||||
|
||||
/**
|
||||
* Some internal operating system services have not been available.
|
||||
*/
|
||||
public const int NSSCS_E_SYSTEM_FAILURE = -803;
|
||||
|
||||
/**
|
||||
* Access to the target SecretStore has been denied.
|
||||
*/
|
||||
public const int NSSCS_E_ACCESS_DENIED = -804;
|
||||
|
||||
/**
|
||||
* Some internal NDS services have not been available.
|
||||
*/
|
||||
public const int NSSCS_E_NDS_INTERNAL_FAILURE = -805;
|
||||
|
||||
/**
|
||||
* Secret has not been initialized with a write.
|
||||
*/
|
||||
public const int NSSCS_E_SECRET_UNINITIALIZED = -806;
|
||||
|
||||
/**
|
||||
* Size of the buffer is not in a nominal range between minimum and maximum.
|
||||
*/
|
||||
public const int NSSCS_E_BUFFER_LEN = -807;
|
||||
|
||||
/**
|
||||
* Client and server components are not of the compatible versions.
|
||||
*/
|
||||
public const int NSSCS_E_INCOMPATIBLE_VERSION = -808;
|
||||
|
||||
/**
|
||||
* SecretStore data on the server has been corrupted.
|
||||
*/
|
||||
public const int NSSCS_E_CORRUPTED_STORE = -809;
|
||||
|
||||
/**
|
||||
* Secret ID already exists in the Secret Store.
|
||||
*/
|
||||
public const int NSSCS_E_SECRET_ID_EXISTS = -810;
|
||||
|
||||
/**
|
||||
* User NDS password has been changed by the administrator.
|
||||
*/
|
||||
public const int NSSCS_E_NDS_PWORD_CHANGED = -811;
|
||||
|
||||
/**
|
||||
* Target NDS User object not found.
|
||||
*/
|
||||
public const int NSSCS_E_INVALID_TARGET_OBJECT = -812;
|
||||
|
||||
/**
|
||||
* Target NDS User object does not have a SecretStore.
|
||||
*/
|
||||
public const int NSSCS_E_STORE_NOT_FOUND = -813;
|
||||
|
||||
/**
|
||||
* SecretStore not on the Network.
|
||||
*/
|
||||
public const int NSSCS_E_SERVICE_NOT_FOUND = -814;
|
||||
|
||||
/**
|
||||
* Length of the Secret ID buffer exceeds the limit.
|
||||
*/
|
||||
public const int NSSCS_E_SECRET_ID_TOO_LONG = -815;
|
||||
|
||||
/**
|
||||
* Length of the Enumeration buffer too int.
|
||||
*/
|
||||
public const int NSSCS_E_ENUM_BUFF_TOO_SHORT = -816;
|
||||
|
||||
/**
|
||||
* User not authenticated.
|
||||
*/
|
||||
public const int NSSCS_E_NOT_AUTHENTICATED = -817;
|
||||
|
||||
/**
|
||||
* Not supported operations.
|
||||
*/
|
||||
public const int NSSCS_E_NOT_SUPPORTED = -818;
|
||||
|
||||
/**
|
||||
* Typed in NDS password not valid.
|
||||
*/
|
||||
public const int NSSCS_E_NDS_PWORD_INVALID = -819;
|
||||
|
||||
/**
|
||||
* Session keys of the client and server NICI are out of sync.
|
||||
*/
|
||||
public const int NSSCS_E_NICI_OUTOF_SYNC = -820;
|
||||
|
||||
/**
|
||||
* Requested service not supported yet.
|
||||
*/
|
||||
public const int NSSCS_E_SERVICE_NOT_SUPPORTED = -821;
|
||||
|
||||
/**
|
||||
* NDS authentication type not supported.
|
||||
*/
|
||||
public const int NSSCS_E_TOKEN_NOT_SUPPORTED = -822;
|
||||
|
||||
/**
|
||||
* Unicode text conversion operation failed.
|
||||
*/
|
||||
public const int NSSCS_E_UNICODE_OP_FAILURE = -823;
|
||||
|
||||
/**
|
||||
* Connection to server is lost.
|
||||
*/
|
||||
public const int NSSCS_E_TRANSPORT_FAILURE = -824;
|
||||
|
||||
/**
|
||||
* Cryptographic operation failed.
|
||||
*/
|
||||
public const int NSSCS_E_CRYPTO_OP_FAILURE = -825;
|
||||
|
||||
/**
|
||||
* Opening a connection to the server failed.
|
||||
*/
|
||||
public const int NSSCS_E_SERVER_CONN_FAILURE = -826;
|
||||
|
||||
/**
|
||||
* Access to server connection failed.
|
||||
*/
|
||||
public const int NSSCS_E_CONN_ACCESS_FAILURE = -827;
|
||||
|
||||
/**
|
||||
* Size of the enumeration buffer exceeds the limit.
|
||||
*/
|
||||
public const int NSSCS_E_ENUM_BUFF_TOO_LONG = -828;
|
||||
|
||||
/**
|
||||
* Size of the Secret buffer exceeds the limit.
|
||||
*/
|
||||
public const int NSSCS_E_SECRET_BUFF_TOO_LONG = -829;
|
||||
|
||||
/**
|
||||
* Length of the Secret ID should be greater than zero.
|
||||
*/
|
||||
public const int NSSCS_E_SECRET_ID_TOO_SHORT = -830;
|
||||
|
||||
/**
|
||||
* Protocol data corrupted on the wire.
|
||||
*/
|
||||
public const int NSSCS_E_CORRUPTED_PACKET_DATA = -831;
|
||||
|
||||
/**
|
||||
* EP password validation failed. Access to the secret denied!
|
||||
*/
|
||||
public const int NSSCS_E_EP_ACCESS_DENIED = -832;
|
||||
|
||||
/**
|
||||
* Schema is not extended to support SecreStore on the target tree.
|
||||
*/
|
||||
public const int NSSCS_E_SCHEMA_NOT_EXTENDED = -833;
|
||||
|
||||
/**
|
||||
* One of the optional service attributes is not instantiated.
|
||||
*/
|
||||
public const int NSSCS_E_ATTR_NOT_FOUND = -834;
|
||||
|
||||
/**
|
||||
* Server has been upgraded and user SecretStore should be updated.
|
||||
*/
|
||||
public const int NSSCS_E_MIGRATION_NEEDED = -835;
|
||||
|
||||
/**
|
||||
* Master password could not be verified to read or unlock the secrets.
|
||||
*/
|
||||
public const int NSSCS_E_MP_PWORD_INVALID = -836;
|
||||
|
||||
/**
|
||||
* Master password has not been set on the SecretStore.
|
||||
*/
|
||||
public const int NSSCS_E_MP_PWORD_NOT_SET = -837;
|
||||
|
||||
/**
|
||||
* Ability to use master password has been disabled.
|
||||
*/
|
||||
public const int NSSCS_E_MP_PWORD_NOT_ALLOWED = -838;
|
||||
|
||||
/**
|
||||
* Not a writeable replica of NDS.
|
||||
*/
|
||||
public const int NSSCS_E_WRONG_REPLICA_TYPE = -839;
|
||||
|
||||
/**
|
||||
* Target attribute is not instantiated in NDS.
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
public const int NSSCS_E_ATTR_VAL_NOT_FOUND = -840;
|
||||
|
||||
/**
|
||||
* API parameter is not initialized.
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
public const int NSSCS_E_INVALID_PARAM = -841;
|
||||
|
||||
/**
|
||||
* Connection to SecretStore needs to be over SSL.
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
public const int NSSCS_E_NEED_SECURE_CHANNEL = -842;
|
||||
|
||||
/**
|
||||
* No server to support the given override configuration is found.
|
||||
*
|
||||
* @since 3.02
|
||||
*/
|
||||
public const int NSSCS_E_CONFIG_NOT_SUPPORTED = -843;
|
||||
|
||||
/**
|
||||
* Attempt to unlock SecretStore failed because the store is not locked.
|
||||
*
|
||||
* @since 3.02
|
||||
*/
|
||||
public const int NSSCS_E_STORE_NOT_LOCKED = -844;
|
||||
|
||||
/**
|
||||
* NDS Replica on the server that holds SecretStore is out of sync with the replica ring.
|
||||
*
|
||||
* @since 3.2
|
||||
*/
|
||||
public const int NSSCS_E_TIME_OUT_OF_SYNC = -845;
|
||||
|
||||
/**
|
||||
* Versions of the client dlls don't match.
|
||||
*
|
||||
* @since 3.2
|
||||
*/
|
||||
public const int NSSCS_E_VERSION_MISMATCH = -846;
|
||||
|
||||
/**
|
||||
* Buffer supplied for the secret is too short.
|
||||
*
|
||||
* @since 3.2
|
||||
*/
|
||||
public const int NSSCS_E_SECRET_BUFF_TOO_SHORT = -847;
|
||||
|
||||
/**
|
||||
* Shared Secret processing and operations failed.
|
||||
*
|
||||
* @since 3.2
|
||||
*/
|
||||
public const int NSSCS_E_SH_SECRET_FAILURE = -848;
|
||||
|
||||
/**
|
||||
* Shared Secret parser operations failed.
|
||||
*
|
||||
* @since 3.2
|
||||
*/
|
||||
public const int NSSCS_E_PARSER_FAILURE = -849;
|
||||
|
||||
/**
|
||||
* Utf8 string operations failed.
|
||||
*
|
||||
* @since 3.2
|
||||
*/
|
||||
public const int NSSCS_E_UTF8_OP_FAILURE = -850;
|
||||
|
||||
/**
|
||||
* Contextless name for LDAP bind does not resolve to a unique DN.
|
||||
*
|
||||
* @since 3.2
|
||||
*/
|
||||
public const int NSSCS_E_CTX_LESS_CN_NOT_UNIQUE = -851;
|
||||
|
||||
/**
|
||||
* Feature not implemented yet.
|
||||
*/
|
||||
public const int NSSCS_E_NOT_IMPLEMENTED = -888;
|
||||
|
||||
/**
|
||||
* Product's BETA life has expired! Official release copy should be purchased.
|
||||
*/
|
||||
public const int NSSCS_E_BETA_EXPIRED = -899;
|
||||
|
||||
|
||||
public miCasaException()
|
||||
{
|
||||
//
|
||||
// TODO: Add constructor logic here
|
||||
//
|
||||
}
|
||||
|
||||
public miCasaException(int iException)
|
||||
{
|
||||
m_iException = iException;
|
||||
}
|
||||
|
||||
public string getMessage()
|
||||
{
|
||||
return getMessage(m_iException);
|
||||
}
|
||||
|
||||
public string getMessage(int iException)
|
||||
{
|
||||
switch (iException)
|
||||
{
|
||||
case NSSCS_E_OBJECT_NOT_FOUND:
|
||||
return "Can't find the target object DN in NDS";
|
||||
|
||||
case NSSCS_E_NICI_FAILURE:
|
||||
return "NICI operations have failed";
|
||||
|
||||
case NSSCS_E_INVALID_SECRET_ID:
|
||||
return "Secret ID is not in the User Secret Store";
|
||||
|
||||
case NSSCS_E_SYSTEM_FAILURE:
|
||||
return "Some internal operating system services have not been available";
|
||||
|
||||
case NSSCS_E_ACCESS_DENIED:
|
||||
return "Access to the target SecretStore has been denied";
|
||||
|
||||
case NSSCS_E_NDS_INTERNAL_FAILURE:
|
||||
return "Some internal NDS services have not been available";
|
||||
|
||||
case NSSCS_E_SECRET_UNINITIALIZED:
|
||||
return "Secret has not been initialized with a write";
|
||||
|
||||
case NSSCS_E_BUFFER_LEN:
|
||||
return "Size of the buffer is not in a nominal range between minimum and maximum";
|
||||
|
||||
case NSSCS_E_INCOMPATIBLE_VERSION:
|
||||
return "Client and server components are not of the compatible versions";
|
||||
|
||||
case NSSCS_E_CORRUPTED_STORE:
|
||||
return "SecretStore data on the server has been corrupted";
|
||||
|
||||
case NSSCS_E_SECRET_ID_EXISTS:
|
||||
return "Secret ID is already in SecretStore";
|
||||
|
||||
case NSSCS_E_NDS_PWORD_CHANGED:
|
||||
return "User NDS password has been changed by the administrator";
|
||||
|
||||
case NSSCS_E_INVALID_TARGET_OBJECT:
|
||||
return "Target NDS User object not found";
|
||||
|
||||
case NSSCS_E_STORE_NOT_FOUND:
|
||||
return "Target NDS User object does not have a SecretStore";
|
||||
|
||||
case NSSCS_E_SERVICE_NOT_FOUND:
|
||||
return "SecretStore not on the Network";
|
||||
|
||||
case NSSCS_E_SECRET_ID_TOO_LONG:
|
||||
return "Length of the Secret ID buffer exceeds the limit";
|
||||
|
||||
case NSSCS_E_ENUM_BUFF_TOO_SHORT:
|
||||
return "Length of the Enumeration buffer too short";
|
||||
|
||||
case NSSCS_E_NOT_AUTHENTICATED:
|
||||
return "User not authenticated";
|
||||
|
||||
case NSSCS_E_NOT_SUPPORTED:
|
||||
return "Not supported operations";
|
||||
|
||||
case NSSCS_E_NDS_PWORD_INVALID:
|
||||
return "Typed in NDS password not valid";
|
||||
|
||||
case NSSCS_E_NICI_OUTOF_SYNC:
|
||||
return "Session keys of the client and server NICI are out of sync";
|
||||
|
||||
case NSSCS_E_SERVICE_NOT_SUPPORTED:
|
||||
return "Requested service not supported yet";
|
||||
|
||||
case NSSCS_E_TOKEN_NOT_SUPPORTED:
|
||||
return "NDS authentication type not supported";
|
||||
|
||||
case NSSCS_E_UNICODE_OP_FAILURE:
|
||||
return "Unicode text conversion operation failed";
|
||||
|
||||
case NSSCS_E_TRANSPORT_FAILURE:
|
||||
return "Connection to server is lost";
|
||||
|
||||
case NSSCS_E_CRYPTO_OP_FAILURE:
|
||||
return "Cryptographic operation failed";
|
||||
|
||||
case NSSCS_E_SERVER_CONN_FAILURE:
|
||||
return "Opening a connection to the server failed";
|
||||
|
||||
case NSSCS_E_CONN_ACCESS_FAILURE:
|
||||
return "Access to server connection failed";
|
||||
|
||||
case NSSCS_E_ENUM_BUFF_TOO_LONG:
|
||||
return "Size of the enumeration buffer exceeds the limit";
|
||||
|
||||
case NSSCS_E_SECRET_BUFF_TOO_LONG:
|
||||
return "Size of the Secret buffer exceeds the limit";
|
||||
|
||||
case NSSCS_E_SECRET_ID_TOO_SHORT:
|
||||
return "Length of the Secret ID should be greater than zero";
|
||||
|
||||
case NSSCS_E_CORRUPTED_PACKET_DATA:
|
||||
return "Protocol data corrupted on the wire";
|
||||
|
||||
case NSSCS_E_EP_ACCESS_DENIED:
|
||||
return "EP password validation failed. Access to the secret denied";
|
||||
|
||||
case NSSCS_E_SCHEMA_NOT_EXTENDED:
|
||||
return "Schema is not extended to support SecreStore on the target tree";
|
||||
|
||||
case NSSCS_E_ATTR_NOT_FOUND:
|
||||
return "One of the optional service attributes is not instantiated";
|
||||
|
||||
case NSSCS_E_MIGRATION_NEEDED:
|
||||
return "Server has been upgraded and user SecretStore should be updated";
|
||||
|
||||
case NSSCS_E_MP_PWORD_INVALID:
|
||||
return "Master password could not be verified to read or unlock the secrets";
|
||||
|
||||
case NSSCS_E_MP_PWORD_NOT_SET:
|
||||
return "Master password has not been set on the SecretStore";
|
||||
|
||||
case NSSCS_E_MP_PWORD_NOT_ALLOWED:
|
||||
return "Ability to use master password has been disabled";
|
||||
|
||||
case NSSCS_E_WRONG_REPLICA_TYPE:
|
||||
return "Not a writeable replica of NDS";
|
||||
|
||||
case NSSCS_E_ATTR_VAL_NOT_FOUND:
|
||||
return "Target attribute is not instantiated in NDS";
|
||||
|
||||
case NSSCS_E_INVALID_PARAM:
|
||||
return "API parameter is not initialized";
|
||||
|
||||
case NSSCS_E_NEED_SECURE_CHANNEL:
|
||||
return "Connection to SecretStore needs to be over SSL";
|
||||
|
||||
case NSSCS_E_CONFIG_NOT_SUPPORTED:
|
||||
return "No server to support the given override configuration is found";
|
||||
|
||||
case NSSCS_E_STORE_NOT_LOCKED:
|
||||
return "Attempt to unlock SecretStore failed because the store is not locked";
|
||||
|
||||
case NSSCS_E_TIME_OUT_OF_SYNC:
|
||||
return "NDS Replica on the server that holds SecretStore is out of sync with the replica ring";
|
||||
|
||||
case NSSCS_E_VERSION_MISMATCH:
|
||||
return "Versions of the client dlls don't match";
|
||||
|
||||
case NSSCS_E_SECRET_BUFF_TOO_SHORT:
|
||||
return "Buffer supplied for the secret is too short";
|
||||
|
||||
case NSSCS_E_SH_SECRET_FAILURE:
|
||||
return "Shared Secret processing and operations failed";
|
||||
|
||||
case NSSCS_E_PARSER_FAILURE:
|
||||
return "Shared Secret parser operations failed";
|
||||
|
||||
case NSSCS_E_UTF8_OP_FAILURE:
|
||||
return "Utf8 string operations failed";
|
||||
|
||||
case NSSCS_E_CTX_LESS_CN_NOT_UNIQUE:
|
||||
return "Contextless name for LDAP bind does not resolve to a unique DN";
|
||||
|
||||
case NSSCS_E_NOT_IMPLEMENTED:
|
||||
return "Feature not implemented yet";
|
||||
|
||||
case NSSCS_E_BETA_EXPIRED:
|
||||
return "Product's BETA life has expired! Official release copy should be purchased";
|
||||
}
|
||||
|
||||
return "";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
9
c_sharp/NSSCSWrapper/objs.lux
Normal file
9
c_sharp/NSSCSWrapper/objs.lux
Normal file
@@ -0,0 +1,9 @@
|
||||
OBJS=\
|
||||
miCasaException\
|
||||
BasicCredential\
|
||||
miCASA\
|
||||
AssemblyInfo\
|
||||
NativeCalls\
|
||||
Secret\
|
||||
SecretStore
|
||||
|
||||
9
c_sharp/NSSCSWrapper/objs.w32
Normal file
9
c_sharp/NSSCSWrapper/objs.w32
Normal file
@@ -0,0 +1,9 @@
|
||||
OBJS=\
|
||||
miCasaException\
|
||||
BasicCredential\
|
||||
miCASA\
|
||||
AssemblyInfo\
|
||||
NativeCalls\
|
||||
Secret\
|
||||
SecretStore
|
||||
|
||||
9
c_sharp/NSSCSWrapper/src.lux
Normal file
9
c_sharp/NSSCSWrapper/src.lux
Normal file
@@ -0,0 +1,9 @@
|
||||
SRC=\
|
||||
miCasaException.cs\
|
||||
BasicCredential.cs\
|
||||
miCASA.cs\
|
||||
AssemblyInfo.cs\
|
||||
NativeCalls.cs\
|
||||
Secret.cs\
|
||||
SecretStore.cs
|
||||
|
||||
9
c_sharp/NSSCSWrapper/src.w32
Normal file
9
c_sharp/NSSCSWrapper/src.w32
Normal file
@@ -0,0 +1,9 @@
|
||||
SRC=\
|
||||
miCasaException.cs\
|
||||
BasicCredential.cs\
|
||||
miCASA.cs\
|
||||
AssemblyInfo.cs\
|
||||
NativeCalls.cs\
|
||||
Secret.cs\
|
||||
SecretStore.cs
|
||||
|
||||
58
c_sharp/NSSSWrapper/AssemblyInfo.cs
Normal file
58
c_sharp/NSSSWrapper/AssemblyInfo.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
677
c_sharp/NSSSWrapper/NativeCalls.cs
Normal file
677
c_sharp/NSSSWrapper/NativeCalls.cs
Normal file
@@ -0,0 +1,677 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Novell.SecretStore.NSSSWrapper
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for Class1.
|
||||
/// </summary>
|
||||
public class NativeCalls
|
||||
{
|
||||
//private uint NSSS_GET_CONTEXT_F = 0x00000100;
|
||||
private string m_host = null;
|
||||
private string m_userId = null;
|
||||
private string m_password = null;
|
||||
private string m_certFile = null;
|
||||
|
||||
private SSS_CONTEXT_T m_context = null;
|
||||
private SS_OBJECT_DN_T m_objectDN = null;
|
||||
|
||||
public NativeCalls(string host, string userId, string password, string certFile)
|
||||
{
|
||||
//
|
||||
// TODO: Add constructor logic here
|
||||
//
|
||||
m_host = host;
|
||||
m_userId = userId;
|
||||
m_password = password;
|
||||
m_certFile = certFile;
|
||||
}
|
||||
|
||||
//* Get service info extended data
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
public class SSS_GSINFOEXT_T
|
||||
{
|
||||
public uint statFlags;
|
||||
public uint secretCount;
|
||||
public uint lockCount;
|
||||
public uint enumBufLen;
|
||||
public uint hidSecCount;
|
||||
public uint clientVersion;
|
||||
public uint serverVersion;
|
||||
public uint serverCryptoStrength;
|
||||
public uint clientCryptoStrength;
|
||||
public uint unlockTStamp;
|
||||
public uint admnDNLen;
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 516)]
|
||||
public string admnDN; //[NSSS_MAX_DN_LEN];
|
||||
public uint hintLen;
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
||||
public string hint; //[NSSS_MAX_MP_PWORD_HINT_LEN]];
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class SS_SERVER_INFO_T
|
||||
{
|
||||
//char treeName[NSSS_MAX_TREE_NAME_LEN];
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] // in bytes?
|
||||
public string treeName;
|
||||
|
||||
//char ssServerDN[NSSS_MAX_DN_LEN];
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 516)]
|
||||
public string ssServerDN;
|
||||
|
||||
//char ssServerIPAddr[NSSS_MAX_IP_ADDR_LEN];
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
|
||||
public string ssServerIPAddr;
|
||||
|
||||
//char sssConfigDN[NSSS_MAX_DN_LEN];
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 516)]
|
||||
public string sssConfigDN;
|
||||
} ;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class SS_OBJECT_DN_T
|
||||
{
|
||||
public int len;
|
||||
//char id[NSSS_MAX_DN_LEN];
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 516)]
|
||||
public string id;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class SSS_CONTEXT_T
|
||||
{
|
||||
public uint flags; //* IN- context type indicator and
|
||||
public uint dsCtx; //* IN/OUT- ldap/ncp context
|
||||
public uint version; //* IN- context version indicator
|
||||
public SS_SERVER_INFO_T ssServerInfo; //* IN/OUT- preferred SecretStore server info
|
||||
public SS_OBJECT_DN_T callerDN; //* IN/OUT- DN of the caller. OUT-For NCP.
|
||||
public IntPtr handles;
|
||||
public IntPtr bindInfo;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
public class SSCS_EXT_T
|
||||
{
|
||||
public int extID; // defined to identify the extension
|
||||
public int version; // defined as the version of the specified extension
|
||||
//void *ext; // points to the actual extension
|
||||
public IntPtr ext;
|
||||
} ;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class SS_LDAPBIND_INFO_T
|
||||
{
|
||||
public uint portNum; //* default: 636
|
||||
//char lHostName[ NSSS_MAX_DN_LEN ]; //* Ex: "nsd10.novell.com" or ip addr
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 516)]
|
||||
public string lHostHame;
|
||||
|
||||
//char trustedRootCert[ NSSS_MAX_DN_LEN ]; //* default: "c:\TrustedRootCertificate.der"
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 516)]
|
||||
public string trustedRootCert;
|
||||
|
||||
//char loginPword[ NSSS_MAX_LDAP_PWORD_LEN ]; //* LDAP login password (utf8)
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
||||
public string loginPword;
|
||||
} ;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class SS_SECRET_T
|
||||
{
|
||||
public int len;
|
||||
public IntPtr data;
|
||||
};
|
||||
|
||||
|
||||
//* password structure
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class SS_PWORD_T
|
||||
{
|
||||
public uint pwordLen; //* enhanced protection len & pword to set
|
||||
//char pword[NSSS_MAX_EP_PWORD_LEN]; //* should be passed in # of chars
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
||||
public string pword;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class SSS_READEXT_T
|
||||
{
|
||||
public uint statFlags; //* OUT - return flags on the secret
|
||||
public uint crtStamp; //* OUT - secret creation time stamp
|
||||
public uint latStamp; //* OUT - last accessed time stamp (optional)
|
||||
public uint lmtStamp; //* OUT - last modified time stamp
|
||||
};
|
||||
|
||||
//* Secret ID type
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class SS_SECRET_ID_T
|
||||
{
|
||||
public int len; //* max id len in bytes
|
||||
//char id[NSSS_MAX_SECRET_ID_LEN]; //* should be passed in # of chars
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
|
||||
public string id;
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class SS_SH_SECRET_ID_T
|
||||
{
|
||||
public int type; // The shared secret type i.e. SS_App or SS_CredSet
|
||||
//char pName[NSSS_MAX_SECRET_ID_LEN]; // The shared secret name. This is the same as the identifier
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
|
||||
public string id;
|
||||
public int len; // except that it excludes the header and is not escaped.
|
||||
} ;
|
||||
|
||||
#if DEBUG
|
||||
private const string NDK_LIBRARY = "nsss";
|
||||
//private const string NDK_LIBRARY = "/opt/novell/sss/libnsss.so";
|
||||
#else
|
||||
private const string NDK_LIBRARY = "nsss";
|
||||
#endif
|
||||
|
||||
[DllImport(NDK_LIBRARY, CharSet=CharSet.Ansi)]
|
||||
public static extern int NSSSGetServiceInformation
|
||||
(
|
||||
[In, Out] SSS_CONTEXT_T context,
|
||||
[In] SS_OBJECT_DN_T targetObjDN,
|
||||
[In] uint ssFlags,
|
||||
[In, Out] SSS_GSINFOEXT_T gsData,
|
||||
[In, Out] SSCS_EXT_T ext
|
||||
);
|
||||
|
||||
[DllImport(NDK_LIBRARY, CharSet=CharSet.Ansi)]
|
||||
public static extern int NSSSEnumerateSecretIDs
|
||||
(
|
||||
[In, Out] SSS_CONTEXT_T context,
|
||||
[In] SS_OBJECT_DN_T targetObjDN,
|
||||
[In] uint ssFlags,
|
||||
[In, Out] IntPtr srchStr,
|
||||
[In, Out] ref uint count,
|
||||
[In, Out] SS_SECRET_T secretIDList,
|
||||
[In, Out] SSCS_EXT_T ext
|
||||
);
|
||||
|
||||
[DllImport(NDK_LIBRARY, CharSet=CharSet.Ansi)]
|
||||
public static extern int NSSSReadSecret
|
||||
(
|
||||
[In, Out] SSS_CONTEXT_T context,
|
||||
[In] SS_OBJECT_DN_T targetObjDN,
|
||||
[In] uint ssFlags,
|
||||
[In] SS_PWORD_T epPassword,
|
||||
[In, Out] SSS_READEXT_T readData,
|
||||
[In] SS_SECRET_ID_T secretID,
|
||||
[In, Out] SS_SECRET_T secretValue,
|
||||
[In, Out] SSCS_EXT_T ext
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
//**************************************************************
|
||||
//* Support Functions for processing (populating or extracting)
|
||||
//* data components from a Shared Secret
|
||||
//**************************************************************
|
||||
[DllImport(NDK_LIBRARY)]
|
||||
public static extern IntPtr NSSSCreateSHSHandle();
|
||||
|
||||
[DllImport(NDK_LIBRARY)]
|
||||
public static extern int NSSSDestroySHSHandle(
|
||||
[In] IntPtr handle); // in
|
||||
|
||||
|
||||
[DllImport(NDK_LIBRARY, CharSet=CharSet.Ansi) ]
|
||||
public static extern int NSSSGetNextSHSEntry
|
||||
(
|
||||
[In] int restart, //* in (set to 1 to begin from head of list)
|
||||
[In] IntPtr secretHandle, //* in
|
||||
[In, Out] ref uint keyLen, //* out
|
||||
//[MarshalAs(UnmanagedType.LPTStr)]
|
||||
// StringBuilder key, //* out uchar
|
||||
[In, Out] IntPtr pKey,
|
||||
[In, Out] ref uint valLen, //* out
|
||||
//[MarshalAs(UnmanagedType.LPTStr)]
|
||||
// StringBuilder val, //* out uchar
|
||||
[In, Out] IntPtr pVal,
|
||||
[In] uint ssCtxFlags
|
||||
);
|
||||
|
||||
[DllImport(NDK_LIBRARY, CharSet=CharSet.Ansi)]
|
||||
public static extern int NSSSAddSHSEntry
|
||||
(
|
||||
[In] IntPtr secretHandle, //* in]
|
||||
//[MarshalAs(UnmanagedType.B)]
|
||||
string key, //* in /wchar
|
||||
//[MarshalAs(UnmanagedType.LPTStr)]
|
||||
string val, //* in /uchar
|
||||
[In] uint ssCtxFlags
|
||||
);
|
||||
|
||||
|
||||
[DllImport(NDK_LIBRARY)]
|
||||
public static extern int NSSSRemoveSHSEntry
|
||||
(
|
||||
[In] IntPtr secretHandle, //* in
|
||||
[MarshalAs(UnmanagedType.LPWStr)]
|
||||
string key, //* out /uchar
|
||||
[MarshalAs(UnmanagedType.LPTStr)]
|
||||
string val, //* out /uchar
|
||||
[In] uint ssCtxFlags
|
||||
);
|
||||
|
||||
|
||||
//**************************************************************
|
||||
//* These function calls will utilize the Support Functions for
|
||||
//* populating or extracting data from a Shared Secret.
|
||||
//**************************************************************
|
||||
|
||||
[DllImport(NDK_LIBRARY)]
|
||||
public static extern int NSSSWriteSharedSecret
|
||||
(
|
||||
[In] IntPtr secretHandle, //* in
|
||||
[In] SS_SH_SECRET_ID_T pSharedSecret,
|
||||
[In, Out] SSS_CONTEXT_T context,
|
||||
[In] SS_OBJECT_DN_T targetObjDN,
|
||||
[In] uint ssFlags,
|
||||
[In] SS_PWORD_T epPassword,
|
||||
[In, Out] SSCS_EXT_T ext
|
||||
);
|
||||
|
||||
[DllImport(NDK_LIBRARY)]
|
||||
public static extern int NSSSReadSharedSecret
|
||||
(
|
||||
[In] IntPtr secretHandle, //* in
|
||||
[In] SS_SH_SECRET_ID_T pSharedSecret,
|
||||
[In, Out] SSS_CONTEXT_T context,
|
||||
[In] SS_OBJECT_DN_T targetObjDN,
|
||||
[In] uint ssFlags,
|
||||
[In] SS_PWORD_T epPassword,
|
||||
[In, Out] SSS_READEXT_T readData,
|
||||
[In, Out] SSCS_EXT_T ext
|
||||
);
|
||||
|
||||
[DllImport(NDK_LIBRARY)]
|
||||
public static extern int NSSSRemoveSharedSecret
|
||||
(
|
||||
[In] SS_SH_SECRET_ID_T pSharedSecret,
|
||||
[In, Out] SSS_CONTEXT_T context,
|
||||
[In] SS_OBJECT_DN_T targetObjDN,
|
||||
[In] uint ssFlags,
|
||||
[In, Out] SSCS_EXT_T ext
|
||||
);
|
||||
|
||||
|
||||
// code starts here
|
||||
|
||||
public void setContextInfo(string sHost, string sUsername, string sPassword, string sCertFile)
|
||||
{
|
||||
m_host = sHost;
|
||||
m_userId = sUsername;
|
||||
m_password = sPassword;
|
||||
m_certFile = sCertFile;
|
||||
}
|
||||
|
||||
|
||||
public void getStoreInfo()
|
||||
{
|
||||
// set up locals
|
||||
SSS_CONTEXT_T context = new SSS_CONTEXT_T();
|
||||
SS_OBJECT_DN_T objectDN = new SS_OBJECT_DN_T();
|
||||
SS_LDAPBIND_INFO_T ldapBindInfo = new SS_LDAPBIND_INFO_T();
|
||||
SSS_GSINFOEXT_T gsData = new SSS_GSINFOEXT_T();
|
||||
SSCS_EXT_T ext = new SSCS_EXT_T();
|
||||
|
||||
// init params
|
||||
objectDN.id = m_userId;
|
||||
objectDN.len = objectDN.id.Length + 1;
|
||||
|
||||
//ldapBindInfo.lHostHame = "151.155.152.209";
|
||||
//ldapBindInfo.lHostHame = "jim1.provo.novell.com";
|
||||
ldapBindInfo.lHostHame = m_host;
|
||||
//ldapBindInfo.loginPword = "test";
|
||||
ldapBindInfo.loginPword = m_password;
|
||||
ldapBindInfo.portNum = 636;
|
||||
ldapBindInfo.trustedRootCert = m_certFile;
|
||||
|
||||
|
||||
context.bindInfo = Marshal.AllocHGlobal(Marshal.SizeOf(ldapBindInfo));
|
||||
Marshal.StructureToPtr(ldapBindInfo, context.bindInfo, false);
|
||||
|
||||
//context.callerDN = objectDN;
|
||||
context.callerDN = objectDN;
|
||||
context.flags = 2050;
|
||||
context.handles = IntPtr.Zero;
|
||||
context.version = 0;
|
||||
//context.bindInfo = ldapBindInfo;
|
||||
//context.bindInfo = new IntPtr(4);
|
||||
|
||||
context.ssServerInfo = new SS_SERVER_INFO_T();
|
||||
Console.WriteLine("ServerInfoSize: "+Marshal.SizeOf(context.ssServerInfo));
|
||||
|
||||
|
||||
int rcode = NSSSGetServiceInformation(context,
|
||||
objectDN,
|
||||
0x00000100, //0x00000110, // 0x00000010, ALL STRINGS UNICODE....
|
||||
gsData,
|
||||
ext);
|
||||
|
||||
if (rcode != 0)
|
||||
{
|
||||
Console.Write("NSSSGetServiceInformation return error: " + rcode);
|
||||
throw new Exception("Login Failed");
|
||||
}
|
||||
else
|
||||
{
|
||||
m_context = context;
|
||||
m_objectDN = objectDN;
|
||||
}
|
||||
|
||||
//enumerateSecretIDs(context, objectDN, 0x00000110);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public string[] enumerateSecretIDs()
|
||||
{
|
||||
return enumerateSecretIDs(m_context, m_objectDN, 0x00000000);
|
||||
}
|
||||
|
||||
private string[] enumerateSecretIDs(SSS_CONTEXT_T context, SS_OBJECT_DN_T targetObjDN, uint ssFlags)
|
||||
{
|
||||
int rcode = 0;
|
||||
uint count = 0;
|
||||
|
||||
SS_SECRET_T secretIDList = new SS_SECRET_T();
|
||||
secretIDList.data = Marshal.AllocHGlobal(16384+1);
|
||||
secretIDList.len = 16384+1;
|
||||
|
||||
SSCS_EXT_T ext = new SSCS_EXT_T();
|
||||
|
||||
rcode = NSSSEnumerateSecretIDs(context,
|
||||
targetObjDN,
|
||||
ssFlags,
|
||||
IntPtr.Zero, // [In, Out] IntPtr srchStr,
|
||||
ref count,
|
||||
secretIDList,
|
||||
ext);
|
||||
|
||||
if (rcode != 0)
|
||||
{
|
||||
Console.Write("NSSSGetServiceInformation return error: " + rcode);
|
||||
return null;
|
||||
}
|
||||
|
||||
string ids = Marshal.PtrToStringAnsi(secretIDList.data);
|
||||
|
||||
if (ids.EndsWith("*"))
|
||||
ids = ids.Substring(0, ids.Length-1);
|
||||
|
||||
// parse the buffer
|
||||
string [] split = null;
|
||||
string delimStr = "*";
|
||||
char [] delimiter = delimStr.ToCharArray();
|
||||
|
||||
|
||||
for (int i = 1; i <= count; i++)
|
||||
{
|
||||
split = ids.Split(delimiter, i);
|
||||
}
|
||||
|
||||
/*
|
||||
if (false)
|
||||
{
|
||||
// dump em out.
|
||||
for (int i=0; i<split.Length; i++)
|
||||
{
|
||||
Console.WriteLine("-------------------");
|
||||
string sTemp = split[i].ToString().TrimEnd(delimiter);
|
||||
Console.WriteLine("ID: "+sTemp);
|
||||
|
||||
if (sTemp.StartsWith("SS_CredSet"))
|
||||
getSharedSecret(context, targetObjDN, ssFlags, sTemp);
|
||||
else
|
||||
getSecret(context, targetObjDN, ssFlags, sTemp);
|
||||
Console.WriteLine();
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
return split;
|
||||
|
||||
}
|
||||
|
||||
public RemoteSecret getSecret(uint ssFlags, string sSecretID)
|
||||
{
|
||||
return getSecret(m_context, m_objectDN, ssFlags, sSecretID);
|
||||
}
|
||||
|
||||
public RemoteSecret getSecret(SSS_CONTEXT_T context,
|
||||
SS_OBJECT_DN_T targetObjDN,
|
||||
uint ssFlags,
|
||||
string sSecretID)
|
||||
{
|
||||
|
||||
if (sSecretID.StartsWith("SS_CredSet") || sSecretID.StartsWith("SS_App"))
|
||||
{
|
||||
return getSharedSecret(context, targetObjDN, ssFlags, sSecretID);
|
||||
}
|
||||
|
||||
|
||||
int rcode = 0;
|
||||
SS_PWORD_T epPassword = new SS_PWORD_T();
|
||||
|
||||
SSS_READEXT_T readData = new SSS_READEXT_T();
|
||||
|
||||
SS_SECRET_ID_T secretId = new SS_SECRET_ID_T();
|
||||
secretId.id = sSecretID;
|
||||
secretId.len = sSecretID.Length+1;
|
||||
|
||||
SS_SECRET_T secretValue = new SS_SECRET_T();
|
||||
secretValue.data = Marshal.AllocHGlobal(1024*64);
|
||||
secretValue.len = (1024*64);
|
||||
|
||||
SSCS_EXT_T ext = new SSCS_EXT_T();
|
||||
rcode = NSSSReadSecret(context, targetObjDN, ssFlags, epPassword, readData, secretId, secretValue, ext);
|
||||
|
||||
if (rcode == 0)
|
||||
{
|
||||
RemoteSecret rs = new RemoteSecret(sSecretID, readData.crtStamp, readData.lmtStamp, readData.latStamp);
|
||||
String sValue = Marshal.PtrToStringAnsi(secretValue.data, secretValue.len);
|
||||
//String sValue = Marshal.PtrToStringAnsi(secretValue.data, secretValue.len);
|
||||
rs.setValue(sValue);
|
||||
|
||||
Marshal.FreeHGlobal(secretValue.data);
|
||||
return rs;
|
||||
}
|
||||
else
|
||||
Console.WriteLine("value: not found "+ rcode);
|
||||
|
||||
// release unmanaged memory.
|
||||
Marshal.FreeHGlobal(secretValue.data);
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static RemoteSecret getSharedSecret(SSS_CONTEXT_T context,
|
||||
SS_OBJECT_DN_T targetObjDN,
|
||||
uint ssFlags,
|
||||
string sSecretID)
|
||||
{
|
||||
int rcode = 0;
|
||||
SS_PWORD_T epPassword = new SS_PWORD_T();
|
||||
|
||||
SSS_READEXT_T readData = new SSS_READEXT_T();
|
||||
|
||||
SS_SH_SECRET_ID_T pSharedSecretID = new SS_SH_SECRET_ID_T();
|
||||
if (sSecretID.StartsWith("SS_CredSet"))
|
||||
{
|
||||
pSharedSecretID.id = sSecretID.Substring(11);
|
||||
pSharedSecretID.len = pSharedSecretID.id.Length;
|
||||
pSharedSecretID.type = 2;
|
||||
}
|
||||
else //SS_App
|
||||
{
|
||||
pSharedSecretID.id = sSecretID.Substring(7);
|
||||
pSharedSecretID.len = pSharedSecretID.id.Length;
|
||||
pSharedSecretID.type = 1;
|
||||
}
|
||||
|
||||
SSCS_EXT_T ext = new SSCS_EXT_T();
|
||||
|
||||
// get secretHandle
|
||||
IntPtr secretHandle = NSSSCreateSHSHandle();
|
||||
|
||||
rcode = NSSSReadSharedSecret(secretHandle, pSharedSecretID, context, targetObjDN, ssFlags, epPassword, readData, ext);
|
||||
|
||||
if (rcode == 0)
|
||||
{
|
||||
RemoteSecret rs = new RemoteSecret(pSharedSecretID.id, readData.crtStamp, readData.lmtStamp, readData.latStamp);
|
||||
// enumerate key/value pairs
|
||||
loadKeyValuePairs(context, secretHandle, rs);
|
||||
return rs;
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
internal static void loadKeyValuePairs(SSS_CONTEXT_T context, IntPtr secretHandle, RemoteSecret rs)
|
||||
{
|
||||
int rcode=0;
|
||||
int iStart = 1;
|
||||
|
||||
uint iKeyLen = 60416;
|
||||
//StringBuilder sKey = new StringBuilder((int)iKeyLen);
|
||||
IntPtr pKey; // = new IntPtr(4);
|
||||
pKey = Marshal.AllocHGlobal(60416);
|
||||
|
||||
uint iValueLen = 60416;
|
||||
//StringBuilder sValue = new StringBuilder((int)iValueLen);
|
||||
IntPtr pValue; // = new IntPtr(4);
|
||||
pValue = Marshal.AllocHGlobal(60416);
|
||||
|
||||
while (true)
|
||||
{
|
||||
|
||||
|
||||
rcode = NSSSGetNextSHSEntry(
|
||||
iStart,
|
||||
secretHandle,
|
||||
ref iKeyLen,
|
||||
//sKey,
|
||||
pKey,
|
||||
ref iValueLen,
|
||||
//sValue,
|
||||
pValue,
|
||||
context.flags
|
||||
);
|
||||
|
||||
if (rcode != 0)
|
||||
break;
|
||||
else
|
||||
{
|
||||
|
||||
/*
|
||||
UTF8Encoding encoder = new UTF8Encoding();
|
||||
System.Text.Decoder decoder = encoder.GetDecoder();
|
||||
|
||||
byte[] baKey= new byte[(int)iKeyLen];
|
||||
Marshal.Copy(pKey, baKey, 0, (int)iKeyLen-1);
|
||||
char[] caKey = new char[256];
|
||||
rcode = decoder.GetChars(baKey, 0, baKey.Length, caKey, 0);
|
||||
string sKey = new String(caKey);
|
||||
|
||||
Console.WriteLine("baKeyBytes");
|
||||
for (int j=0; j<baKey.Length; j++)
|
||||
Console.Write(baKey[j] + " ");
|
||||
|
||||
Console.WriteLine();
|
||||
|
||||
byte[] baValue = new byte[(int)iValueLen];
|
||||
Marshal.Copy(pValue, baValue, 0, (int)iValueLen-1);
|
||||
char[] caValue = new char[256];
|
||||
rcode = decoder.GetChars(baValue, 0, baValue.Length, caValue, 0);
|
||||
string sValue = new string(caValue);
|
||||
|
||||
Console.WriteLine("Adding key-value " + sKey.Trim() + "=" +sValue.Trim());
|
||||
|
||||
rs.setKeyValuePair(sKey.Trim(), sValue.Trim());
|
||||
|
||||
*/
|
||||
|
||||
|
||||
string sKey = Marshal.PtrToStringAnsi(pKey, (int)iKeyLen-1);
|
||||
string sValue = Marshal.PtrToStringAnsi(pValue, (int)iValueLen-1);
|
||||
//Marshal.PtrToStringAnsi(
|
||||
//Console.WriteLine(sKey + "=" + sValue);
|
||||
|
||||
rs.setKeyValuePair(sKey, sValue);
|
||||
|
||||
|
||||
iKeyLen = 60416;
|
||||
iValueLen = 60416;
|
||||
|
||||
iStart = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Marshal.FreeHGlobal(pKey);
|
||||
Marshal.FreeHGlobal(pValue);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void setSecret(RemoteSecret secret)
|
||||
{
|
||||
setSecret(m_context, m_objectDN, 0, secret);
|
||||
}
|
||||
|
||||
internal void setSecret(SSS_CONTEXT_T context,
|
||||
SS_OBJECT_DN_T targetObjDN,
|
||||
uint ssFlags,
|
||||
RemoteSecret secret)
|
||||
{
|
||||
int rcode = 0;
|
||||
// create a secretHandle
|
||||
// get secretHandle
|
||||
IntPtr secretHandle = NSSSCreateSHSHandle();
|
||||
|
||||
// write out the keyValue Pairs
|
||||
System.Collections.Specialized.NameValueCollection nvc = secret.getKeyValueCollection();
|
||||
|
||||
//int NSSS_LDAP_CTX_F 0x00000002; //* Context is for LDAP
|
||||
//int NSSS_CONTEXT_INITIALIZED_F 0x00000004;
|
||||
for (int i=0; i<nvc.Count; i++)
|
||||
{
|
||||
string sKey = nvc.GetKey(i);
|
||||
string sValue = nvc.Get(i);
|
||||
rcode = NSSSAddSHSEntry(secretHandle, sKey, sValue, 6);
|
||||
}
|
||||
|
||||
|
||||
SS_PWORD_T epPassword = new SS_PWORD_T();
|
||||
|
||||
SS_SH_SECRET_ID_T pSharedSecretID = new SS_SH_SECRET_ID_T();
|
||||
pSharedSecretID.id = secret.getID();
|
||||
pSharedSecretID.len = pSharedSecretID.id.Length;
|
||||
pSharedSecretID.type = 2;
|
||||
|
||||
SSCS_EXT_T ext = new SSCS_EXT_T();
|
||||
|
||||
// Write the SharedSecret
|
||||
rcode = NSSSWriteSharedSecret(secretHandle,
|
||||
pSharedSecretID,
|
||||
context,
|
||||
targetObjDN,
|
||||
ssFlags,
|
||||
epPassword,
|
||||
ext);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
110
c_sharp/NSSSWrapper/Novell.SecretStore.NSSSWrapper.csproj
Normal file
110
c_sharp/NSSSWrapper/Novell.SecretStore.NSSSWrapper.csproj
Normal file
@@ -0,0 +1,110 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP
|
||||
ProjectType = "Local"
|
||||
ProductVersion = "7.10.3077"
|
||||
SchemaVersion = "2.0"
|
||||
ProjectGuid = "{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}"
|
||||
>
|
||||
<Build>
|
||||
<Settings
|
||||
ApplicationIcon = ""
|
||||
AssemblyKeyContainerName = ""
|
||||
AssemblyName = "NSSSWrapper"
|
||||
AssemblyOriginatorKeyFile = ""
|
||||
DefaultClientScript = "JScript"
|
||||
DefaultHTMLPageLayout = "Grid"
|
||||
DefaultTargetSchema = "IE50"
|
||||
DelaySign = "false"
|
||||
OutputType = "Library"
|
||||
PreBuildEvent = ""
|
||||
PostBuildEvent = ""
|
||||
RootNamespace = "NSSSWrapper"
|
||||
RunPostBuildEvent = "OnBuildSuccess"
|
||||
StartupObject = ""
|
||||
>
|
||||
<Config
|
||||
Name = "Debug"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "DEBUG;TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "true"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "false"
|
||||
OutputPath = "bin\Debug\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "false"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "true"
|
||||
OutputPath = "bin\Release\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
</Settings>
|
||||
<References>
|
||||
<Reference
|
||||
Name = "System"
|
||||
AssemblyName = "System"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Data"
|
||||
AssemblyName = "System.Data"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.XML"
|
||||
AssemblyName = "System.Xml"
|
||||
HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
|
||||
/>
|
||||
</References>
|
||||
</Build>
|
||||
<Files>
|
||||
<Include>
|
||||
<File
|
||||
RelPath = "AssemblyInfo.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "NativeCalls.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "RemoteSecret.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "RemoteStore.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
</Include>
|
||||
</Files>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP LastOpenVersion = "7.10.3077" >
|
||||
<Build>
|
||||
<Settings ReferencePath = "D:\ccm\SSClient\SecretStoreClient_src\c_sharp\NSSCSWrapper\bin\Debug\" >
|
||||
<Config
|
||||
Name = "Debug"
|
||||
EnableASPDebugging = "false"
|
||||
EnableASPXDebugging = "false"
|
||||
EnableUnmanagedDebugging = "false"
|
||||
EnableSQLServerDebugging = "false"
|
||||
RemoteDebugEnabled = "false"
|
||||
RemoteDebugMachine = ""
|
||||
StartAction = "Project"
|
||||
StartArguments = ""
|
||||
StartPage = ""
|
||||
StartProgram = ""
|
||||
StartURL = ""
|
||||
StartWorkingDirectory = ""
|
||||
StartWithIE = "true"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
EnableASPDebugging = "false"
|
||||
EnableASPXDebugging = "false"
|
||||
EnableUnmanagedDebugging = "false"
|
||||
EnableSQLServerDebugging = "false"
|
||||
RemoteDebugEnabled = "false"
|
||||
RemoteDebugMachine = ""
|
||||
StartAction = "Project"
|
||||
StartArguments = ""
|
||||
StartPage = ""
|
||||
StartProgram = ""
|
||||
StartURL = ""
|
||||
StartWorkingDirectory = ""
|
||||
StartWithIE = "true"
|
||||
/>
|
||||
</Settings>
|
||||
</Build>
|
||||
<OtherProjectSettings
|
||||
CopyProjectDestinationFolder = ""
|
||||
CopyProjectUncPath = ""
|
||||
CopyProjectOption = "0"
|
||||
ProjectView = "ProjectFiles"
|
||||
ProjectTrust = "0"
|
||||
/>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
80
c_sharp/NSSSWrapper/RemoteSecret.cs
Normal file
80
c_sharp/NSSSWrapper/RemoteSecret.cs
Normal file
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace Novell.SecretStore.NSSSWrapper
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for RemoteSecret.
|
||||
/// </summary>
|
||||
public class RemoteSecret
|
||||
{
|
||||
private string m_sSecretID;
|
||||
private uint m_iCreateTime = 0;
|
||||
private uint m_iModifiedTime = 0;
|
||||
private uint m_iLastAccessTime = 0;
|
||||
private string m_sValue = null;
|
||||
|
||||
private System.Collections.Specialized.NameValueCollection m_nvc;
|
||||
|
||||
public RemoteSecret(string sSecretID, uint iCreateTime, uint iModifiedTime, uint iLastAccessTime)
|
||||
{
|
||||
if (sSecretID.StartsWith("SS_CredSet:"))
|
||||
m_sSecretID = sSecretID.Substring(11);
|
||||
else
|
||||
m_sSecretID = sSecretID;
|
||||
|
||||
m_iCreateTime = iCreateTime;
|
||||
m_iModifiedTime = iModifiedTime;
|
||||
m_iLastAccessTime = iLastAccessTime;
|
||||
|
||||
if (m_nvc == null)
|
||||
m_nvc = new NameValueCollection();
|
||||
}
|
||||
|
||||
|
||||
public string getID()
|
||||
{
|
||||
return m_sSecretID;
|
||||
}
|
||||
|
||||
public void setValue(string sValue)
|
||||
{
|
||||
m_sValue = sValue;
|
||||
}
|
||||
|
||||
public string getValue()
|
||||
{
|
||||
return m_sValue;
|
||||
}
|
||||
|
||||
public uint getCreateTime()
|
||||
{
|
||||
return m_iCreateTime;
|
||||
}
|
||||
|
||||
public uint getModifiedTime()
|
||||
{
|
||||
return m_iModifiedTime;
|
||||
}
|
||||
|
||||
public uint getAccessTime()
|
||||
{
|
||||
return m_iLastAccessTime;
|
||||
}
|
||||
|
||||
public void setKeyValuePair(string sKey, string sValue)
|
||||
{
|
||||
m_nvc.Set(sKey, sValue);
|
||||
}
|
||||
|
||||
public NameValueCollection getKeyValueCollection()
|
||||
{
|
||||
return m_nvc;
|
||||
}
|
||||
|
||||
public void setKeyValueCollection(NameValueCollection nvc)
|
||||
{
|
||||
m_nvc = nvc;
|
||||
}
|
||||
}
|
||||
}
|
||||
48
c_sharp/NSSSWrapper/RemoteStore.cs
Normal file
48
c_sharp/NSSSWrapper/RemoteStore.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using Novell.SecretStore.NSSSWrapper;
|
||||
|
||||
namespace Novell.SecretStore.NSSSWrapper
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for RemoteStore.
|
||||
/// </summary>
|
||||
public class RemoteStore
|
||||
{
|
||||
|
||||
NativeCalls nc = null;
|
||||
|
||||
public RemoteStore()
|
||||
{
|
||||
//
|
||||
// TODO: Add constructor logic here
|
||||
//
|
||||
}
|
||||
|
||||
public static RemoteStore getInstance()
|
||||
{
|
||||
RemoteStore rs = new RemoteStore();
|
||||
return rs;
|
||||
}
|
||||
|
||||
public void connect(string sHost, string sUserID, string sPassword, string sCertFile)
|
||||
{
|
||||
nc = new NativeCalls(sHost, sUserID, sPassword, sCertFile);
|
||||
nc.getStoreInfo();
|
||||
}
|
||||
|
||||
public string[] enumerateSecrets()
|
||||
{
|
||||
return nc.enumerateSecretIDs();
|
||||
}
|
||||
|
||||
public RemoteSecret getSecret(string sSecretID)
|
||||
{
|
||||
return nc.getSecret(0, sSecretID);
|
||||
}
|
||||
|
||||
public void setSecret(RemoteSecret secret)
|
||||
{
|
||||
nc.setSecret(secret);
|
||||
}
|
||||
}
|
||||
}
|
||||
833
c_sharp/SecretStoreClientManager/Add Secret.cs
Normal file
833
c_sharp/SecretStoreClientManager/Add Secret.cs
Normal file
@@ -0,0 +1,833 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
using Novell.SecretStore.NSSCSWrapper;
|
||||
|
||||
namespace SecretStoreService
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for Form3.
|
||||
/// </summary>
|
||||
public class AddSecretForm : System.Windows.Forms.Form
|
||||
{
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.TabPage tabPage2;
|
||||
private System.Windows.Forms.GroupBox EPProtection;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.CheckBox checkBox2;
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
private SecretStore m_store = null;
|
||||
private System.Windows.Forms.TextBox SecretID;
|
||||
internal System.Windows.Forms.ListBox keyValueBox;
|
||||
private System.Windows.Forms.TextBox EPPwd2;
|
||||
private System.Windows.Forms.TextBox EPPwd1;
|
||||
private System.Windows.Forms.CheckBox CheckBoxEP;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.RadioButton credButton1;
|
||||
private System.Windows.Forms.RadioButton appButton2;
|
||||
private System.Windows.Forms.Button btnDelete;
|
||||
private System.Windows.Forms.Button btnEdit;
|
||||
private Secret m_secret = null;
|
||||
private System.Windows.Forms.Button btnAdd;
|
||||
private System.Windows.Forms.Button btnRefresh;
|
||||
private System.Windows.Forms.Button btnOk;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
|
||||
private Boolean m_bShowValue = false;
|
||||
|
||||
public AddSecretForm(SecretStore store)
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
//
|
||||
// TODO: Add any constructor code after InitializeComponent call
|
||||
//
|
||||
m_store = store;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if(components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(AddSecretForm));
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.appButton2 = new System.Windows.Forms.RadioButton();
|
||||
this.credButton1 = new System.Windows.Forms.RadioButton();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.SecretID = new System.Windows.Forms.TextBox();
|
||||
this.EPProtection = new System.Windows.Forms.GroupBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.EPPwd2 = new System.Windows.Forms.TextBox();
|
||||
this.EPPwd1 = new System.Windows.Forms.TextBox();
|
||||
this.CheckBoxEP = new System.Windows.Forms.CheckBox();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.keyValueBox = new System.Windows.Forms.ListBox();
|
||||
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
||||
this.btnDelete = new System.Windows.Forms.Button();
|
||||
this.btnEdit = new System.Windows.Forms.Button();
|
||||
this.btnAdd = new System.Windows.Forms.Button();
|
||||
this.btnRefresh = new System.Windows.Forms.Button();
|
||||
this.btnOk = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.EPProtection.SuspendLayout();
|
||||
this.tabPage2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.AccessibleDescription = resources.GetString("tabControl1.AccessibleDescription");
|
||||
this.tabControl1.AccessibleName = resources.GetString("tabControl1.AccessibleName");
|
||||
this.tabControl1.Alignment = ((System.Windows.Forms.TabAlignment)(resources.GetObject("tabControl1.Alignment")));
|
||||
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("tabControl1.Anchor")));
|
||||
this.tabControl1.Appearance = ((System.Windows.Forms.TabAppearance)(resources.GetObject("tabControl1.Appearance")));
|
||||
this.tabControl1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("tabControl1.BackgroundImage")));
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("tabControl1.Dock")));
|
||||
this.tabControl1.Enabled = ((bool)(resources.GetObject("tabControl1.Enabled")));
|
||||
this.tabControl1.Font = ((System.Drawing.Font)(resources.GetObject("tabControl1.Font")));
|
||||
this.tabControl1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("tabControl1.ImeMode")));
|
||||
this.tabControl1.ItemSize = ((System.Drawing.Size)(resources.GetObject("tabControl1.ItemSize")));
|
||||
this.tabControl1.Location = ((System.Drawing.Point)(resources.GetObject("tabControl1.Location")));
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.Padding = ((System.Drawing.Point)(resources.GetObject("tabControl1.Padding")));
|
||||
this.tabControl1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("tabControl1.RightToLeft")));
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.ShowToolTips = ((bool)(resources.GetObject("tabControl1.ShowToolTips")));
|
||||
this.tabControl1.Size = ((System.Drawing.Size)(resources.GetObject("tabControl1.Size")));
|
||||
this.tabControl1.TabIndex = ((int)(resources.GetObject("tabControl1.TabIndex")));
|
||||
this.tabControl1.Tag = "";
|
||||
this.tabControl1.Text = resources.GetString("tabControl1.Text");
|
||||
this.tabControl1.Visible = ((bool)(resources.GetObject("tabControl1.Visible")));
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.AccessibleDescription = resources.GetString("tabPage1.AccessibleDescription");
|
||||
this.tabPage1.AccessibleName = resources.GetString("tabPage1.AccessibleName");
|
||||
this.tabPage1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("tabPage1.Anchor")));
|
||||
this.tabPage1.AutoScroll = ((bool)(resources.GetObject("tabPage1.AutoScroll")));
|
||||
this.tabPage1.AutoScrollMargin = ((System.Drawing.Size)(resources.GetObject("tabPage1.AutoScrollMargin")));
|
||||
this.tabPage1.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("tabPage1.AutoScrollMinSize")));
|
||||
this.tabPage1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("tabPage1.BackgroundImage")));
|
||||
this.tabPage1.Controls.Add(this.groupBox2);
|
||||
this.tabPage1.Controls.Add(this.groupBox1);
|
||||
this.tabPage1.Controls.Add(this.EPProtection);
|
||||
this.tabPage1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("tabPage1.Dock")));
|
||||
this.tabPage1.Enabled = ((bool)(resources.GetObject("tabPage1.Enabled")));
|
||||
this.tabPage1.Font = ((System.Drawing.Font)(resources.GetObject("tabPage1.Font")));
|
||||
this.tabPage1.ImageIndex = ((int)(resources.GetObject("tabPage1.ImageIndex")));
|
||||
this.tabPage1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("tabPage1.ImeMode")));
|
||||
this.tabPage1.Location = ((System.Drawing.Point)(resources.GetObject("tabPage1.Location")));
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("tabPage1.RightToLeft")));
|
||||
this.tabPage1.Size = ((System.Drawing.Size)(resources.GetObject("tabPage1.Size")));
|
||||
this.tabPage1.TabIndex = ((int)(resources.GetObject("tabPage1.TabIndex")));
|
||||
this.tabPage1.Text = resources.GetString("tabPage1.Text");
|
||||
this.tabPage1.ToolTipText = resources.GetString("tabPage1.ToolTipText");
|
||||
this.tabPage1.Visible = ((bool)(resources.GetObject("tabPage1.Visible")));
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.AccessibleDescription = resources.GetString("groupBox2.AccessibleDescription");
|
||||
this.groupBox2.AccessibleName = resources.GetString("groupBox2.AccessibleName");
|
||||
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("groupBox2.Anchor")));
|
||||
this.groupBox2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("groupBox2.BackgroundImage")));
|
||||
this.groupBox2.Controls.Add(this.appButton2);
|
||||
this.groupBox2.Controls.Add(this.credButton1);
|
||||
this.groupBox2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("groupBox2.Dock")));
|
||||
this.groupBox2.Enabled = ((bool)(resources.GetObject("groupBox2.Enabled")));
|
||||
this.groupBox2.Font = ((System.Drawing.Font)(resources.GetObject("groupBox2.Font")));
|
||||
this.groupBox2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("groupBox2.ImeMode")));
|
||||
this.groupBox2.Location = ((System.Drawing.Point)(resources.GetObject("groupBox2.Location")));
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("groupBox2.RightToLeft")));
|
||||
this.groupBox2.Size = ((System.Drawing.Size)(resources.GetObject("groupBox2.Size")));
|
||||
this.groupBox2.TabIndex = ((int)(resources.GetObject("groupBox2.TabIndex")));
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = resources.GetString("groupBox2.Text");
|
||||
this.groupBox2.Visible = ((bool)(resources.GetObject("groupBox2.Visible")));
|
||||
//
|
||||
// appButton2
|
||||
//
|
||||
this.appButton2.AccessibleDescription = resources.GetString("appButton2.AccessibleDescription");
|
||||
this.appButton2.AccessibleName = resources.GetString("appButton2.AccessibleName");
|
||||
this.appButton2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("appButton2.Anchor")));
|
||||
this.appButton2.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("appButton2.Appearance")));
|
||||
this.appButton2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("appButton2.BackgroundImage")));
|
||||
this.appButton2.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("appButton2.CheckAlign")));
|
||||
this.appButton2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("appButton2.Dock")));
|
||||
this.appButton2.Enabled = ((bool)(resources.GetObject("appButton2.Enabled")));
|
||||
this.appButton2.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("appButton2.FlatStyle")));
|
||||
this.appButton2.Font = ((System.Drawing.Font)(resources.GetObject("appButton2.Font")));
|
||||
this.appButton2.Image = ((System.Drawing.Image)(resources.GetObject("appButton2.Image")));
|
||||
this.appButton2.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("appButton2.ImageAlign")));
|
||||
this.appButton2.ImageIndex = ((int)(resources.GetObject("appButton2.ImageIndex")));
|
||||
this.appButton2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("appButton2.ImeMode")));
|
||||
this.appButton2.Location = ((System.Drawing.Point)(resources.GetObject("appButton2.Location")));
|
||||
this.appButton2.Name = "appButton2";
|
||||
this.appButton2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("appButton2.RightToLeft")));
|
||||
this.appButton2.Size = ((System.Drawing.Size)(resources.GetObject("appButton2.Size")));
|
||||
this.appButton2.TabIndex = ((int)(resources.GetObject("appButton2.TabIndex")));
|
||||
this.appButton2.Text = resources.GetString("appButton2.Text");
|
||||
this.appButton2.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("appButton2.TextAlign")));
|
||||
this.appButton2.Visible = ((bool)(resources.GetObject("appButton2.Visible")));
|
||||
//
|
||||
// credButton1
|
||||
//
|
||||
this.credButton1.AccessibleDescription = resources.GetString("credButton1.AccessibleDescription");
|
||||
this.credButton1.AccessibleName = resources.GetString("credButton1.AccessibleName");
|
||||
this.credButton1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("credButton1.Anchor")));
|
||||
this.credButton1.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("credButton1.Appearance")));
|
||||
this.credButton1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("credButton1.BackgroundImage")));
|
||||
this.credButton1.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("credButton1.CheckAlign")));
|
||||
this.credButton1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("credButton1.Dock")));
|
||||
this.credButton1.Enabled = ((bool)(resources.GetObject("credButton1.Enabled")));
|
||||
this.credButton1.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("credButton1.FlatStyle")));
|
||||
this.credButton1.Font = ((System.Drawing.Font)(resources.GetObject("credButton1.Font")));
|
||||
this.credButton1.Image = ((System.Drawing.Image)(resources.GetObject("credButton1.Image")));
|
||||
this.credButton1.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("credButton1.ImageAlign")));
|
||||
this.credButton1.ImageIndex = ((int)(resources.GetObject("credButton1.ImageIndex")));
|
||||
this.credButton1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("credButton1.ImeMode")));
|
||||
this.credButton1.Location = ((System.Drawing.Point)(resources.GetObject("credButton1.Location")));
|
||||
this.credButton1.Name = "credButton1";
|
||||
this.credButton1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("credButton1.RightToLeft")));
|
||||
this.credButton1.Size = ((System.Drawing.Size)(resources.GetObject("credButton1.Size")));
|
||||
this.credButton1.TabIndex = ((int)(resources.GetObject("credButton1.TabIndex")));
|
||||
this.credButton1.TabStop = true;
|
||||
this.credButton1.Text = resources.GetString("credButton1.Text");
|
||||
this.credButton1.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("credButton1.TextAlign")));
|
||||
this.credButton1.Visible = ((bool)(resources.GetObject("credButton1.Visible")));
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.AccessibleDescription = resources.GetString("groupBox1.AccessibleDescription");
|
||||
this.groupBox1.AccessibleName = resources.GetString("groupBox1.AccessibleName");
|
||||
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("groupBox1.Anchor")));
|
||||
this.groupBox1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("groupBox1.BackgroundImage")));
|
||||
this.groupBox1.Controls.Add(this.SecretID);
|
||||
this.groupBox1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("groupBox1.Dock")));
|
||||
this.groupBox1.Enabled = ((bool)(resources.GetObject("groupBox1.Enabled")));
|
||||
this.groupBox1.Font = ((System.Drawing.Font)(resources.GetObject("groupBox1.Font")));
|
||||
this.groupBox1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("groupBox1.ImeMode")));
|
||||
this.groupBox1.Location = ((System.Drawing.Point)(resources.GetObject("groupBox1.Location")));
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("groupBox1.RightToLeft")));
|
||||
this.groupBox1.Size = ((System.Drawing.Size)(resources.GetObject("groupBox1.Size")));
|
||||
this.groupBox1.TabIndex = ((int)(resources.GetObject("groupBox1.TabIndex")));
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = resources.GetString("groupBox1.Text");
|
||||
this.groupBox1.Visible = ((bool)(resources.GetObject("groupBox1.Visible")));
|
||||
//
|
||||
// SecretID
|
||||
//
|
||||
this.SecretID.AccessibleDescription = resources.GetString("SecretID.AccessibleDescription");
|
||||
this.SecretID.AccessibleName = resources.GetString("SecretID.AccessibleName");
|
||||
this.SecretID.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("SecretID.Anchor")));
|
||||
this.SecretID.AutoSize = ((bool)(resources.GetObject("SecretID.AutoSize")));
|
||||
this.SecretID.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("SecretID.BackgroundImage")));
|
||||
this.SecretID.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("SecretID.Dock")));
|
||||
this.SecretID.Enabled = ((bool)(resources.GetObject("SecretID.Enabled")));
|
||||
this.SecretID.Font = ((System.Drawing.Font)(resources.GetObject("SecretID.Font")));
|
||||
this.SecretID.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("SecretID.ImeMode")));
|
||||
this.SecretID.Location = ((System.Drawing.Point)(resources.GetObject("SecretID.Location")));
|
||||
this.SecretID.MaxLength = ((int)(resources.GetObject("SecretID.MaxLength")));
|
||||
this.SecretID.Multiline = ((bool)(resources.GetObject("SecretID.Multiline")));
|
||||
this.SecretID.Name = "SecretID";
|
||||
this.SecretID.PasswordChar = ((char)(resources.GetObject("SecretID.PasswordChar")));
|
||||
this.SecretID.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("SecretID.RightToLeft")));
|
||||
this.SecretID.ScrollBars = ((System.Windows.Forms.ScrollBars)(resources.GetObject("SecretID.ScrollBars")));
|
||||
this.SecretID.Size = ((System.Drawing.Size)(resources.GetObject("SecretID.Size")));
|
||||
this.SecretID.TabIndex = ((int)(resources.GetObject("SecretID.TabIndex")));
|
||||
this.SecretID.Text = resources.GetString("SecretID.Text");
|
||||
this.SecretID.TextAlign = ((System.Windows.Forms.HorizontalAlignment)(resources.GetObject("SecretID.TextAlign")));
|
||||
this.SecretID.Visible = ((bool)(resources.GetObject("SecretID.Visible")));
|
||||
this.SecretID.WordWrap = ((bool)(resources.GetObject("SecretID.WordWrap")));
|
||||
//
|
||||
// EPProtection
|
||||
//
|
||||
this.EPProtection.AccessibleDescription = resources.GetString("EPProtection.AccessibleDescription");
|
||||
this.EPProtection.AccessibleName = resources.GetString("EPProtection.AccessibleName");
|
||||
this.EPProtection.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("EPProtection.Anchor")));
|
||||
this.EPProtection.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("EPProtection.BackgroundImage")));
|
||||
this.EPProtection.Controls.Add(this.label3);
|
||||
this.EPProtection.Controls.Add(this.label2);
|
||||
this.EPProtection.Controls.Add(this.EPPwd2);
|
||||
this.EPProtection.Controls.Add(this.EPPwd1);
|
||||
this.EPProtection.Controls.Add(this.CheckBoxEP);
|
||||
this.EPProtection.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("EPProtection.Dock")));
|
||||
this.EPProtection.Enabled = ((bool)(resources.GetObject("EPProtection.Enabled")));
|
||||
this.EPProtection.Font = ((System.Drawing.Font)(resources.GetObject("EPProtection.Font")));
|
||||
this.EPProtection.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("EPProtection.ImeMode")));
|
||||
this.EPProtection.Location = ((System.Drawing.Point)(resources.GetObject("EPProtection.Location")));
|
||||
this.EPProtection.Name = "EPProtection";
|
||||
this.EPProtection.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("EPProtection.RightToLeft")));
|
||||
this.EPProtection.Size = ((System.Drawing.Size)(resources.GetObject("EPProtection.Size")));
|
||||
this.EPProtection.TabIndex = ((int)(resources.GetObject("EPProtection.TabIndex")));
|
||||
this.EPProtection.TabStop = false;
|
||||
this.EPProtection.Text = resources.GetString("EPProtection.Text");
|
||||
this.EPProtection.Visible = ((bool)(resources.GetObject("EPProtection.Visible")));
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AccessibleDescription = resources.GetString("label3.AccessibleDescription");
|
||||
this.label3.AccessibleName = resources.GetString("label3.AccessibleName");
|
||||
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("label3.Anchor")));
|
||||
this.label3.AutoSize = ((bool)(resources.GetObject("label3.AutoSize")));
|
||||
this.label3.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("label3.Dock")));
|
||||
this.label3.Enabled = ((bool)(resources.GetObject("label3.Enabled")));
|
||||
this.label3.Font = ((System.Drawing.Font)(resources.GetObject("label3.Font")));
|
||||
this.label3.Image = ((System.Drawing.Image)(resources.GetObject("label3.Image")));
|
||||
this.label3.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label3.ImageAlign")));
|
||||
this.label3.ImageIndex = ((int)(resources.GetObject("label3.ImageIndex")));
|
||||
this.label3.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("label3.ImeMode")));
|
||||
this.label3.Location = ((System.Drawing.Point)(resources.GetObject("label3.Location")));
|
||||
this.label3.Name = "label3";
|
||||
this.label3.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("label3.RightToLeft")));
|
||||
this.label3.Size = ((System.Drawing.Size)(resources.GetObject("label3.Size")));
|
||||
this.label3.TabIndex = ((int)(resources.GetObject("label3.TabIndex")));
|
||||
this.label3.Text = resources.GetString("label3.Text");
|
||||
this.label3.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label3.TextAlign")));
|
||||
this.label3.Visible = ((bool)(resources.GetObject("label3.Visible")));
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AccessibleDescription = resources.GetString("label2.AccessibleDescription");
|
||||
this.label2.AccessibleName = resources.GetString("label2.AccessibleName");
|
||||
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("label2.Anchor")));
|
||||
this.label2.AutoSize = ((bool)(resources.GetObject("label2.AutoSize")));
|
||||
this.label2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("label2.Dock")));
|
||||
this.label2.Enabled = ((bool)(resources.GetObject("label2.Enabled")));
|
||||
this.label2.Font = ((System.Drawing.Font)(resources.GetObject("label2.Font")));
|
||||
this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
|
||||
this.label2.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label2.ImageAlign")));
|
||||
this.label2.ImageIndex = ((int)(resources.GetObject("label2.ImageIndex")));
|
||||
this.label2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("label2.ImeMode")));
|
||||
this.label2.Location = ((System.Drawing.Point)(resources.GetObject("label2.Location")));
|
||||
this.label2.Name = "label2";
|
||||
this.label2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("label2.RightToLeft")));
|
||||
this.label2.Size = ((System.Drawing.Size)(resources.GetObject("label2.Size")));
|
||||
this.label2.TabIndex = ((int)(resources.GetObject("label2.TabIndex")));
|
||||
this.label2.Text = resources.GetString("label2.Text");
|
||||
this.label2.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label2.TextAlign")));
|
||||
this.label2.Visible = ((bool)(resources.GetObject("label2.Visible")));
|
||||
//
|
||||
// EPPwd2
|
||||
//
|
||||
this.EPPwd2.AccessibleDescription = resources.GetString("EPPwd2.AccessibleDescription");
|
||||
this.EPPwd2.AccessibleName = resources.GetString("EPPwd2.AccessibleName");
|
||||
this.EPPwd2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("EPPwd2.Anchor")));
|
||||
this.EPPwd2.AutoSize = ((bool)(resources.GetObject("EPPwd2.AutoSize")));
|
||||
this.EPPwd2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("EPPwd2.BackgroundImage")));
|
||||
this.EPPwd2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("EPPwd2.Dock")));
|
||||
this.EPPwd2.Enabled = ((bool)(resources.GetObject("EPPwd2.Enabled")));
|
||||
this.EPPwd2.Font = ((System.Drawing.Font)(resources.GetObject("EPPwd2.Font")));
|
||||
this.EPPwd2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("EPPwd2.ImeMode")));
|
||||
this.EPPwd2.Location = ((System.Drawing.Point)(resources.GetObject("EPPwd2.Location")));
|
||||
this.EPPwd2.MaxLength = ((int)(resources.GetObject("EPPwd2.MaxLength")));
|
||||
this.EPPwd2.Multiline = ((bool)(resources.GetObject("EPPwd2.Multiline")));
|
||||
this.EPPwd2.Name = "EPPwd2";
|
||||
this.EPPwd2.PasswordChar = ((char)(resources.GetObject("EPPwd2.PasswordChar")));
|
||||
this.EPPwd2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("EPPwd2.RightToLeft")));
|
||||
this.EPPwd2.ScrollBars = ((System.Windows.Forms.ScrollBars)(resources.GetObject("EPPwd2.ScrollBars")));
|
||||
this.EPPwd2.Size = ((System.Drawing.Size)(resources.GetObject("EPPwd2.Size")));
|
||||
this.EPPwd2.TabIndex = ((int)(resources.GetObject("EPPwd2.TabIndex")));
|
||||
this.EPPwd2.Text = resources.GetString("EPPwd2.Text");
|
||||
this.EPPwd2.TextAlign = ((System.Windows.Forms.HorizontalAlignment)(resources.GetObject("EPPwd2.TextAlign")));
|
||||
this.EPPwd2.Visible = ((bool)(resources.GetObject("EPPwd2.Visible")));
|
||||
this.EPPwd2.WordWrap = ((bool)(resources.GetObject("EPPwd2.WordWrap")));
|
||||
//
|
||||
// EPPwd1
|
||||
//
|
||||
this.EPPwd1.AccessibleDescription = resources.GetString("EPPwd1.AccessibleDescription");
|
||||
this.EPPwd1.AccessibleName = resources.GetString("EPPwd1.AccessibleName");
|
||||
this.EPPwd1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("EPPwd1.Anchor")));
|
||||
this.EPPwd1.AutoSize = ((bool)(resources.GetObject("EPPwd1.AutoSize")));
|
||||
this.EPPwd1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("EPPwd1.BackgroundImage")));
|
||||
this.EPPwd1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("EPPwd1.Dock")));
|
||||
this.EPPwd1.Enabled = ((bool)(resources.GetObject("EPPwd1.Enabled")));
|
||||
this.EPPwd1.Font = ((System.Drawing.Font)(resources.GetObject("EPPwd1.Font")));
|
||||
this.EPPwd1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("EPPwd1.ImeMode")));
|
||||
this.EPPwd1.Location = ((System.Drawing.Point)(resources.GetObject("EPPwd1.Location")));
|
||||
this.EPPwd1.MaxLength = ((int)(resources.GetObject("EPPwd1.MaxLength")));
|
||||
this.EPPwd1.Multiline = ((bool)(resources.GetObject("EPPwd1.Multiline")));
|
||||
this.EPPwd1.Name = "EPPwd1";
|
||||
this.EPPwd1.PasswordChar = ((char)(resources.GetObject("EPPwd1.PasswordChar")));
|
||||
this.EPPwd1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("EPPwd1.RightToLeft")));
|
||||
this.EPPwd1.ScrollBars = ((System.Windows.Forms.ScrollBars)(resources.GetObject("EPPwd1.ScrollBars")));
|
||||
this.EPPwd1.Size = ((System.Drawing.Size)(resources.GetObject("EPPwd1.Size")));
|
||||
this.EPPwd1.TabIndex = ((int)(resources.GetObject("EPPwd1.TabIndex")));
|
||||
this.EPPwd1.Text = resources.GetString("EPPwd1.Text");
|
||||
this.EPPwd1.TextAlign = ((System.Windows.Forms.HorizontalAlignment)(resources.GetObject("EPPwd1.TextAlign")));
|
||||
this.EPPwd1.Visible = ((bool)(resources.GetObject("EPPwd1.Visible")));
|
||||
this.EPPwd1.WordWrap = ((bool)(resources.GetObject("EPPwd1.WordWrap")));
|
||||
//
|
||||
// CheckBoxEP
|
||||
//
|
||||
this.CheckBoxEP.AccessibleDescription = resources.GetString("CheckBoxEP.AccessibleDescription");
|
||||
this.CheckBoxEP.AccessibleName = resources.GetString("CheckBoxEP.AccessibleName");
|
||||
this.CheckBoxEP.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("CheckBoxEP.Anchor")));
|
||||
this.CheckBoxEP.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("CheckBoxEP.Appearance")));
|
||||
this.CheckBoxEP.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("CheckBoxEP.BackgroundImage")));
|
||||
this.CheckBoxEP.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("CheckBoxEP.CheckAlign")));
|
||||
this.CheckBoxEP.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("CheckBoxEP.Dock")));
|
||||
this.CheckBoxEP.Enabled = ((bool)(resources.GetObject("CheckBoxEP.Enabled")));
|
||||
this.CheckBoxEP.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("CheckBoxEP.FlatStyle")));
|
||||
this.CheckBoxEP.Font = ((System.Drawing.Font)(resources.GetObject("CheckBoxEP.Font")));
|
||||
this.CheckBoxEP.Image = ((System.Drawing.Image)(resources.GetObject("CheckBoxEP.Image")));
|
||||
this.CheckBoxEP.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("CheckBoxEP.ImageAlign")));
|
||||
this.CheckBoxEP.ImageIndex = ((int)(resources.GetObject("CheckBoxEP.ImageIndex")));
|
||||
this.CheckBoxEP.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("CheckBoxEP.ImeMode")));
|
||||
this.CheckBoxEP.Location = ((System.Drawing.Point)(resources.GetObject("CheckBoxEP.Location")));
|
||||
this.CheckBoxEP.Name = "CheckBoxEP";
|
||||
this.CheckBoxEP.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("CheckBoxEP.RightToLeft")));
|
||||
this.CheckBoxEP.Size = ((System.Drawing.Size)(resources.GetObject("CheckBoxEP.Size")));
|
||||
this.CheckBoxEP.TabIndex = ((int)(resources.GetObject("CheckBoxEP.TabIndex")));
|
||||
this.CheckBoxEP.Text = resources.GetString("CheckBoxEP.Text");
|
||||
this.CheckBoxEP.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("CheckBoxEP.TextAlign")));
|
||||
this.CheckBoxEP.Visible = ((bool)(resources.GetObject("CheckBoxEP.Visible")));
|
||||
//
|
||||
// tabPage2
|
||||
//
|
||||
this.tabPage2.AccessibleDescription = resources.GetString("tabPage2.AccessibleDescription");
|
||||
this.tabPage2.AccessibleName = resources.GetString("tabPage2.AccessibleName");
|
||||
this.tabPage2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("tabPage2.Anchor")));
|
||||
this.tabPage2.AutoScroll = ((bool)(resources.GetObject("tabPage2.AutoScroll")));
|
||||
this.tabPage2.AutoScrollMargin = ((System.Drawing.Size)(resources.GetObject("tabPage2.AutoScrollMargin")));
|
||||
this.tabPage2.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("tabPage2.AutoScrollMinSize")));
|
||||
this.tabPage2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("tabPage2.BackgroundImage")));
|
||||
this.tabPage2.Controls.Add(this.keyValueBox);
|
||||
this.tabPage2.Controls.Add(this.checkBox2);
|
||||
this.tabPage2.Controls.Add(this.btnDelete);
|
||||
this.tabPage2.Controls.Add(this.btnEdit);
|
||||
this.tabPage2.Controls.Add(this.btnAdd);
|
||||
this.tabPage2.Controls.Add(this.btnRefresh);
|
||||
this.tabPage2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("tabPage2.Dock")));
|
||||
this.tabPage2.Enabled = ((bool)(resources.GetObject("tabPage2.Enabled")));
|
||||
this.tabPage2.Font = ((System.Drawing.Font)(resources.GetObject("tabPage2.Font")));
|
||||
this.tabPage2.ImageIndex = ((int)(resources.GetObject("tabPage2.ImageIndex")));
|
||||
this.tabPage2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("tabPage2.ImeMode")));
|
||||
this.tabPage2.Location = ((System.Drawing.Point)(resources.GetObject("tabPage2.Location")));
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("tabPage2.RightToLeft")));
|
||||
this.tabPage2.Size = ((System.Drawing.Size)(resources.GetObject("tabPage2.Size")));
|
||||
this.tabPage2.TabIndex = ((int)(resources.GetObject("tabPage2.TabIndex")));
|
||||
this.tabPage2.Text = resources.GetString("tabPage2.Text");
|
||||
this.tabPage2.ToolTipText = resources.GetString("tabPage2.ToolTipText");
|
||||
this.tabPage2.Visible = ((bool)(resources.GetObject("tabPage2.Visible")));
|
||||
//
|
||||
// keyValueBox
|
||||
//
|
||||
this.keyValueBox.AccessibleDescription = resources.GetString("keyValueBox.AccessibleDescription");
|
||||
this.keyValueBox.AccessibleName = resources.GetString("keyValueBox.AccessibleName");
|
||||
this.keyValueBox.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("keyValueBox.Anchor")));
|
||||
this.keyValueBox.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("keyValueBox.BackgroundImage")));
|
||||
this.keyValueBox.ColumnWidth = ((int)(resources.GetObject("keyValueBox.ColumnWidth")));
|
||||
this.keyValueBox.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("keyValueBox.Dock")));
|
||||
this.keyValueBox.Enabled = ((bool)(resources.GetObject("keyValueBox.Enabled")));
|
||||
this.keyValueBox.Font = ((System.Drawing.Font)(resources.GetObject("keyValueBox.Font")));
|
||||
this.keyValueBox.HorizontalExtent = ((int)(resources.GetObject("keyValueBox.HorizontalExtent")));
|
||||
this.keyValueBox.HorizontalScrollbar = ((bool)(resources.GetObject("keyValueBox.HorizontalScrollbar")));
|
||||
this.keyValueBox.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("keyValueBox.ImeMode")));
|
||||
this.keyValueBox.IntegralHeight = ((bool)(resources.GetObject("keyValueBox.IntegralHeight")));
|
||||
this.keyValueBox.ItemHeight = ((int)(resources.GetObject("keyValueBox.ItemHeight")));
|
||||
this.keyValueBox.Location = ((System.Drawing.Point)(resources.GetObject("keyValueBox.Location")));
|
||||
this.keyValueBox.Name = "keyValueBox";
|
||||
this.keyValueBox.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("keyValueBox.RightToLeft")));
|
||||
this.keyValueBox.ScrollAlwaysVisible = ((bool)(resources.GetObject("keyValueBox.ScrollAlwaysVisible")));
|
||||
this.keyValueBox.Size = ((System.Drawing.Size)(resources.GetObject("keyValueBox.Size")));
|
||||
this.keyValueBox.Sorted = true;
|
||||
this.keyValueBox.TabIndex = ((int)(resources.GetObject("keyValueBox.TabIndex")));
|
||||
this.keyValueBox.Visible = ((bool)(resources.GetObject("keyValueBox.Visible")));
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
this.checkBox2.AccessibleDescription = resources.GetString("checkBox2.AccessibleDescription");
|
||||
this.checkBox2.AccessibleName = resources.GetString("checkBox2.AccessibleName");
|
||||
this.checkBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkBox2.Anchor")));
|
||||
this.checkBox2.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkBox2.Appearance")));
|
||||
this.checkBox2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkBox2.BackgroundImage")));
|
||||
this.checkBox2.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkBox2.CheckAlign")));
|
||||
this.checkBox2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkBox2.Dock")));
|
||||
this.checkBox2.Enabled = ((bool)(resources.GetObject("checkBox2.Enabled")));
|
||||
this.checkBox2.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkBox2.FlatStyle")));
|
||||
this.checkBox2.Font = ((System.Drawing.Font)(resources.GetObject("checkBox2.Font")));
|
||||
this.checkBox2.Image = ((System.Drawing.Image)(resources.GetObject("checkBox2.Image")));
|
||||
this.checkBox2.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkBox2.ImageAlign")));
|
||||
this.checkBox2.ImageIndex = ((int)(resources.GetObject("checkBox2.ImageIndex")));
|
||||
this.checkBox2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkBox2.ImeMode")));
|
||||
this.checkBox2.Location = ((System.Drawing.Point)(resources.GetObject("checkBox2.Location")));
|
||||
this.checkBox2.Name = "checkBox2";
|
||||
this.checkBox2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkBox2.RightToLeft")));
|
||||
this.checkBox2.Size = ((System.Drawing.Size)(resources.GetObject("checkBox2.Size")));
|
||||
this.checkBox2.TabIndex = ((int)(resources.GetObject("checkBox2.TabIndex")));
|
||||
this.checkBox2.Text = resources.GetString("checkBox2.Text");
|
||||
this.checkBox2.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkBox2.TextAlign")));
|
||||
this.checkBox2.Visible = ((bool)(resources.GetObject("checkBox2.Visible")));
|
||||
this.checkBox2.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged);
|
||||
//
|
||||
// btnDelete
|
||||
//
|
||||
this.btnDelete.AccessibleDescription = resources.GetString("btnDelete.AccessibleDescription");
|
||||
this.btnDelete.AccessibleName = resources.GetString("btnDelete.AccessibleName");
|
||||
this.btnDelete.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("btnDelete.Anchor")));
|
||||
this.btnDelete.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnDelete.BackgroundImage")));
|
||||
this.btnDelete.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("btnDelete.Dock")));
|
||||
this.btnDelete.Enabled = ((bool)(resources.GetObject("btnDelete.Enabled")));
|
||||
this.btnDelete.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("btnDelete.FlatStyle")));
|
||||
this.btnDelete.Font = ((System.Drawing.Font)(resources.GetObject("btnDelete.Font")));
|
||||
this.btnDelete.Image = ((System.Drawing.Image)(resources.GetObject("btnDelete.Image")));
|
||||
this.btnDelete.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnDelete.ImageAlign")));
|
||||
this.btnDelete.ImageIndex = ((int)(resources.GetObject("btnDelete.ImageIndex")));
|
||||
this.btnDelete.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("btnDelete.ImeMode")));
|
||||
this.btnDelete.Location = ((System.Drawing.Point)(resources.GetObject("btnDelete.Location")));
|
||||
this.btnDelete.Name = "btnDelete";
|
||||
this.btnDelete.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("btnDelete.RightToLeft")));
|
||||
this.btnDelete.Size = ((System.Drawing.Size)(resources.GetObject("btnDelete.Size")));
|
||||
this.btnDelete.TabIndex = ((int)(resources.GetObject("btnDelete.TabIndex")));
|
||||
this.btnDelete.Text = resources.GetString("btnDelete.Text");
|
||||
this.btnDelete.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnDelete.TextAlign")));
|
||||
this.btnDelete.Visible = ((bool)(resources.GetObject("btnDelete.Visible")));
|
||||
this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
|
||||
//
|
||||
// btnEdit
|
||||
//
|
||||
this.btnEdit.AccessibleDescription = resources.GetString("btnEdit.AccessibleDescription");
|
||||
this.btnEdit.AccessibleName = resources.GetString("btnEdit.AccessibleName");
|
||||
this.btnEdit.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("btnEdit.Anchor")));
|
||||
this.btnEdit.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnEdit.BackgroundImage")));
|
||||
this.btnEdit.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("btnEdit.Dock")));
|
||||
this.btnEdit.Enabled = ((bool)(resources.GetObject("btnEdit.Enabled")));
|
||||
this.btnEdit.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("btnEdit.FlatStyle")));
|
||||
this.btnEdit.Font = ((System.Drawing.Font)(resources.GetObject("btnEdit.Font")));
|
||||
this.btnEdit.Image = ((System.Drawing.Image)(resources.GetObject("btnEdit.Image")));
|
||||
this.btnEdit.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnEdit.ImageAlign")));
|
||||
this.btnEdit.ImageIndex = ((int)(resources.GetObject("btnEdit.ImageIndex")));
|
||||
this.btnEdit.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("btnEdit.ImeMode")));
|
||||
this.btnEdit.Location = ((System.Drawing.Point)(resources.GetObject("btnEdit.Location")));
|
||||
this.btnEdit.Name = "btnEdit";
|
||||
this.btnEdit.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("btnEdit.RightToLeft")));
|
||||
this.btnEdit.Size = ((System.Drawing.Size)(resources.GetObject("btnEdit.Size")));
|
||||
this.btnEdit.TabIndex = ((int)(resources.GetObject("btnEdit.TabIndex")));
|
||||
this.btnEdit.Text = resources.GetString("btnEdit.Text");
|
||||
this.btnEdit.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnEdit.TextAlign")));
|
||||
this.btnEdit.Visible = ((bool)(resources.GetObject("btnEdit.Visible")));
|
||||
this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
|
||||
//
|
||||
// btnAdd
|
||||
//
|
||||
this.btnAdd.AccessibleDescription = resources.GetString("btnAdd.AccessibleDescription");
|
||||
this.btnAdd.AccessibleName = resources.GetString("btnAdd.AccessibleName");
|
||||
this.btnAdd.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("btnAdd.Anchor")));
|
||||
this.btnAdd.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnAdd.BackgroundImage")));
|
||||
this.btnAdd.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("btnAdd.Dock")));
|
||||
this.btnAdd.Enabled = ((bool)(resources.GetObject("btnAdd.Enabled")));
|
||||
this.btnAdd.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("btnAdd.FlatStyle")));
|
||||
this.btnAdd.Font = ((System.Drawing.Font)(resources.GetObject("btnAdd.Font")));
|
||||
this.btnAdd.Image = ((System.Drawing.Image)(resources.GetObject("btnAdd.Image")));
|
||||
this.btnAdd.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnAdd.ImageAlign")));
|
||||
this.btnAdd.ImageIndex = ((int)(resources.GetObject("btnAdd.ImageIndex")));
|
||||
this.btnAdd.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("btnAdd.ImeMode")));
|
||||
this.btnAdd.Location = ((System.Drawing.Point)(resources.GetObject("btnAdd.Location")));
|
||||
this.btnAdd.Name = "btnAdd";
|
||||
this.btnAdd.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("btnAdd.RightToLeft")));
|
||||
this.btnAdd.Size = ((System.Drawing.Size)(resources.GetObject("btnAdd.Size")));
|
||||
this.btnAdd.TabIndex = ((int)(resources.GetObject("btnAdd.TabIndex")));
|
||||
this.btnAdd.Text = resources.GetString("btnAdd.Text");
|
||||
this.btnAdd.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnAdd.TextAlign")));
|
||||
this.btnAdd.Visible = ((bool)(resources.GetObject("btnAdd.Visible")));
|
||||
this.btnAdd.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// btnRefresh
|
||||
//
|
||||
this.btnRefresh.AccessibleDescription = resources.GetString("btnRefresh.AccessibleDescription");
|
||||
this.btnRefresh.AccessibleName = resources.GetString("btnRefresh.AccessibleName");
|
||||
this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("btnRefresh.Anchor")));
|
||||
this.btnRefresh.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnRefresh.BackgroundImage")));
|
||||
this.btnRefresh.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("btnRefresh.Dock")));
|
||||
this.btnRefresh.Enabled = ((bool)(resources.GetObject("btnRefresh.Enabled")));
|
||||
this.btnRefresh.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("btnRefresh.FlatStyle")));
|
||||
this.btnRefresh.Font = ((System.Drawing.Font)(resources.GetObject("btnRefresh.Font")));
|
||||
this.btnRefresh.Image = ((System.Drawing.Image)(resources.GetObject("btnRefresh.Image")));
|
||||
this.btnRefresh.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnRefresh.ImageAlign")));
|
||||
this.btnRefresh.ImageIndex = ((int)(resources.GetObject("btnRefresh.ImageIndex")));
|
||||
this.btnRefresh.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("btnRefresh.ImeMode")));
|
||||
this.btnRefresh.Location = ((System.Drawing.Point)(resources.GetObject("btnRefresh.Location")));
|
||||
this.btnRefresh.Name = "btnRefresh";
|
||||
this.btnRefresh.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("btnRefresh.RightToLeft")));
|
||||
this.btnRefresh.Size = ((System.Drawing.Size)(resources.GetObject("btnRefresh.Size")));
|
||||
this.btnRefresh.TabIndex = ((int)(resources.GetObject("btnRefresh.TabIndex")));
|
||||
this.btnRefresh.Text = resources.GetString("btnRefresh.Text");
|
||||
this.btnRefresh.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnRefresh.TextAlign")));
|
||||
this.btnRefresh.Visible = ((bool)(resources.GetObject("btnRefresh.Visible")));
|
||||
this.btnRefresh.Click += new System.EventHandler(this.BtnRefresh_Click);
|
||||
//
|
||||
// btnOk
|
||||
//
|
||||
this.btnOk.AccessibleDescription = resources.GetString("btnOk.AccessibleDescription");
|
||||
this.btnOk.AccessibleName = resources.GetString("btnOk.AccessibleName");
|
||||
this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("btnOk.Anchor")));
|
||||
this.btnOk.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnOk.BackgroundImage")));
|
||||
this.btnOk.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("btnOk.Dock")));
|
||||
this.btnOk.Enabled = ((bool)(resources.GetObject("btnOk.Enabled")));
|
||||
this.btnOk.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("btnOk.FlatStyle")));
|
||||
this.btnOk.Font = ((System.Drawing.Font)(resources.GetObject("btnOk.Font")));
|
||||
this.btnOk.Image = ((System.Drawing.Image)(resources.GetObject("btnOk.Image")));
|
||||
this.btnOk.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnOk.ImageAlign")));
|
||||
this.btnOk.ImageIndex = ((int)(resources.GetObject("btnOk.ImageIndex")));
|
||||
this.btnOk.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("btnOk.ImeMode")));
|
||||
this.btnOk.Location = ((System.Drawing.Point)(resources.GetObject("btnOk.Location")));
|
||||
this.btnOk.Name = "btnOk";
|
||||
this.btnOk.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("btnOk.RightToLeft")));
|
||||
this.btnOk.Size = ((System.Drawing.Size)(resources.GetObject("btnOk.Size")));
|
||||
this.btnOk.TabIndex = ((int)(resources.GetObject("btnOk.TabIndex")));
|
||||
this.btnOk.Text = resources.GetString("btnOk.Text");
|
||||
this.btnOk.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnOk.TextAlign")));
|
||||
this.btnOk.Visible = ((bool)(resources.GetObject("btnOk.Visible")));
|
||||
this.btnOk.Click += new System.EventHandler(this.button5_Click);
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.AccessibleDescription = resources.GetString("btnCancel.AccessibleDescription");
|
||||
this.btnCancel.AccessibleName = resources.GetString("btnCancel.AccessibleName");
|
||||
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("btnCancel.Anchor")));
|
||||
this.btnCancel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnCancel.BackgroundImage")));
|
||||
this.btnCancel.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("btnCancel.Dock")));
|
||||
this.btnCancel.Enabled = ((bool)(resources.GetObject("btnCancel.Enabled")));
|
||||
this.btnCancel.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("btnCancel.FlatStyle")));
|
||||
this.btnCancel.Font = ((System.Drawing.Font)(resources.GetObject("btnCancel.Font")));
|
||||
this.btnCancel.Image = ((System.Drawing.Image)(resources.GetObject("btnCancel.Image")));
|
||||
this.btnCancel.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnCancel.ImageAlign")));
|
||||
this.btnCancel.ImageIndex = ((int)(resources.GetObject("btnCancel.ImageIndex")));
|
||||
this.btnCancel.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("btnCancel.ImeMode")));
|
||||
this.btnCancel.Location = ((System.Drawing.Point)(resources.GetObject("btnCancel.Location")));
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("btnCancel.RightToLeft")));
|
||||
this.btnCancel.Size = ((System.Drawing.Size)(resources.GetObject("btnCancel.Size")));
|
||||
this.btnCancel.TabIndex = ((int)(resources.GetObject("btnCancel.TabIndex")));
|
||||
this.btnCancel.Text = resources.GetString("btnCancel.Text");
|
||||
this.btnCancel.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("btnCancel.TextAlign")));
|
||||
this.btnCancel.Visible = ((bool)(resources.GetObject("btnCancel.Visible")));
|
||||
this.btnCancel.Click += new System.EventHandler(this.button6_Click);
|
||||
//
|
||||
// AddSecretForm
|
||||
//
|
||||
this.AccessibleDescription = resources.GetString("$this.AccessibleDescription");
|
||||
this.AccessibleName = resources.GetString("$this.AccessibleName");
|
||||
this.AutoScaleBaseSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScaleBaseSize")));
|
||||
this.AutoScroll = ((bool)(resources.GetObject("$this.AutoScroll")));
|
||||
this.AutoScrollMargin = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMargin")));
|
||||
this.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMinSize")));
|
||||
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
|
||||
this.ClientSize = ((System.Drawing.Size)(resources.GetObject("$this.ClientSize")));
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.tabControl1);
|
||||
this.Controls.Add(this.btnOk);
|
||||
this.Enabled = ((bool)(resources.GetObject("$this.Enabled")));
|
||||
this.Font = ((System.Drawing.Font)(resources.GetObject("$this.Font")));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("$this.ImeMode")));
|
||||
this.Location = ((System.Drawing.Point)(resources.GetObject("$this.Location")));
|
||||
this.MaximumSize = ((System.Drawing.Size)(resources.GetObject("$this.MaximumSize")));
|
||||
this.MinimumSize = ((System.Drawing.Size)(resources.GetObject("$this.MinimumSize")));
|
||||
this.Name = "AddSecretForm";
|
||||
this.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("$this.RightToLeft")));
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = ((System.Windows.Forms.FormStartPosition)(resources.GetObject("$this.StartPosition")));
|
||||
this.Text = resources.GetString("$this.Text");
|
||||
this.Load += new System.EventHandler(this.AddSecretForm_Load);
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.EPProtection.ResumeLayout(false);
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void button5_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
int iSecretType = Secret.SS_CREDSET;
|
||||
|
||||
if (this.EPPwd1.Text != null && this.EPPwd1.Text.Length > 0)
|
||||
{
|
||||
m_secret.setEnhancedProtectionPassword(EPPwd1.Text);
|
||||
}
|
||||
|
||||
if (appButton2.Checked)
|
||||
iSecretType = Secret.SS_APP;
|
||||
|
||||
// save secret
|
||||
m_store.setSecret(1, m_secret, iSecretType);
|
||||
|
||||
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
if (SecretID.Text != null)
|
||||
{
|
||||
if (m_secret == null)
|
||||
m_secret = m_store.getSecret(0, SecretID.Text.ToString(), Secret.SS_CREDSET, "");
|
||||
|
||||
NewEntry ne = new NewEntry(this, m_secret);
|
||||
ne.ShowDialog();
|
||||
}
|
||||
else
|
||||
{
|
||||
// display no id
|
||||
}
|
||||
}
|
||||
|
||||
private void button6_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void AddSecretForm_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
credButton1.Checked = true;
|
||||
}
|
||||
|
||||
private void btnEdit_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
NewEntry ne = new NewEntry(this, m_secret);
|
||||
|
||||
if (keyValueBox.SelectedItem != null)
|
||||
{
|
||||
// get selected item
|
||||
string sKeyValue = keyValueBox.SelectedItem.ToString();
|
||||
string sKey = sKeyValue.Substring(0, sKeyValue.IndexOf("="));
|
||||
string sValue = sKeyValue.Substring(sKeyValue.IndexOf("=")+1);
|
||||
|
||||
ne.setKeyValue(sKey, sValue);
|
||||
ne.ShowDialog();
|
||||
}
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
this.Text = "View Secret";
|
||||
this.groupBox1.Enabled = false;
|
||||
this.groupBox2.Enabled = false;
|
||||
this.EPProtection.Enabled = false;
|
||||
this.Refresh();
|
||||
}
|
||||
|
||||
private void btnEditSecret_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
this.Text = "Edit Secret";
|
||||
this.groupBox1.Enabled = true;
|
||||
this.groupBox2.Enabled = true;
|
||||
this.EPProtection.Enabled = true;
|
||||
this.Refresh();
|
||||
}
|
||||
|
||||
private void disableTab1()
|
||||
{
|
||||
this.Text = "View Secret";
|
||||
this.groupBox1.Enabled = false;
|
||||
this.groupBox2.Enabled = false;
|
||||
this.EPProtection.Enabled = false;
|
||||
}
|
||||
|
||||
public void loadSecret(SecretStore store, string sSecretID, int iSecretType, string sEPPassword)
|
||||
{
|
||||
this.m_store = store;
|
||||
this.m_secret = store.getSecret(0, sSecretID, iSecretType, sEPPassword);
|
||||
|
||||
this.SecretID.Text = sSecretID;
|
||||
|
||||
refreshKeyValueBox();
|
||||
tabControl1.TabIndex = 1;
|
||||
disableTab1();
|
||||
}
|
||||
|
||||
public void refreshKeyValueBox()
|
||||
{
|
||||
this.keyValueBox.Items.Clear();
|
||||
NameValueCollection nvc = this.m_secret.getKeyValueCollection();
|
||||
if (nvc != null)
|
||||
{
|
||||
for (int i=0; i<nvc.Count; i++)
|
||||
{
|
||||
string key = nvc.GetKey(i);
|
||||
if (m_bShowValue)
|
||||
this.keyValueBox.Items.Add(key + "=" + nvc.Get(key));
|
||||
else
|
||||
this.keyValueBox.Items.Add(key + "=" + "*******");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnRefresh_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
refreshKeyValueBox();
|
||||
}
|
||||
|
||||
private void btnDelete_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
if (keyValueBox.SelectedItem != null)
|
||||
{
|
||||
// get selected item
|
||||
string sKeyValue = keyValueBox.SelectedItem.ToString();
|
||||
string sKey = sKeyValue.Substring(0, sKeyValue.IndexOf("="));
|
||||
string sValue = sKeyValue.Substring(sKeyValue.IndexOf("=")+1);
|
||||
|
||||
m_secret.removeKey(sKey, 0);
|
||||
refreshKeyValueBox();
|
||||
}
|
||||
}
|
||||
|
||||
private void checkBox2_CheckedChanged(object sender, System.EventArgs e)
|
||||
{
|
||||
if (checkBox2.Checked)
|
||||
m_bShowValue = true;
|
||||
else
|
||||
m_bShowValue = false;
|
||||
|
||||
refreshKeyValueBox();
|
||||
}
|
||||
}
|
||||
}
|
||||
1951
c_sharp/SecretStoreClientManager/Add Secret.resx
Normal file
1951
c_sharp/SecretStoreClientManager/Add Secret.resx
Normal file
File diff suppressed because it is too large
Load Diff
BIN
c_sharp/SecretStoreClientManager/App.ico
Normal file
BIN
c_sharp/SecretStoreClientManager/App.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
58
c_sharp/SecretStoreClientManager/AssemblyInfo.cs
Normal file
58
c_sharp/SecretStoreClientManager/AssemblyInfo.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
BIN
c_sharp/SecretStoreClientManager/Bitmap.bmp
Normal file
BIN
c_sharp/SecretStoreClientManager/Bitmap.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 104 KiB |
311
c_sharp/SecretStoreClientManager/DisplaySecret.cs
Normal file
311
c_sharp/SecretStoreClientManager/DisplaySecret.cs
Normal file
@@ -0,0 +1,311 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
using Novell.SecretStore.NSSCSWrapper;
|
||||
|
||||
namespace SecretStoreService
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for DisplaySecret.
|
||||
/// </summary>
|
||||
public class DisplaySecret : System.Windows.Forms.Form
|
||||
{
|
||||
private System.Windows.Forms.Label Identifier;
|
||||
private System.Windows.Forms.TextBox SecretID;
|
||||
private System.Windows.Forms.Label Value;
|
||||
private System.Windows.Forms.Label dateCreated;
|
||||
private System.Windows.Forms.Label ModifiedLabel;
|
||||
private System.Windows.Forms.Label Modified;
|
||||
private System.Windows.Forms.Label CreatedLabel2;
|
||||
private System.Windows.Forms.Label created;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.CheckBox cbDisplayValues;
|
||||
|
||||
private Boolean m_bDisplayValues = false;
|
||||
private Secret m_secret = null;
|
||||
private System.Windows.Forms.ListView listView1;
|
||||
private System.Windows.Forms.Button btnClose;
|
||||
private System.Windows.Forms.Label labAccessed;
|
||||
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
|
||||
public DisplaySecret()
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
//
|
||||
// TODO: Add any constructor code after InitializeComponent call
|
||||
//
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if(components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.Identifier = new System.Windows.Forms.Label();
|
||||
this.SecretID = new System.Windows.Forms.TextBox();
|
||||
this.Value = new System.Windows.Forms.Label();
|
||||
this.btnClose = new System.Windows.Forms.Button();
|
||||
this.dateCreated = new System.Windows.Forms.Label();
|
||||
this.ModifiedLabel = new System.Windows.Forms.Label();
|
||||
this.CreatedLabel2 = new System.Windows.Forms.Label();
|
||||
this.Modified = new System.Windows.Forms.Label();
|
||||
this.created = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.labAccessed = new System.Windows.Forms.Label();
|
||||
this.cbDisplayValues = new System.Windows.Forms.CheckBox();
|
||||
this.listView1 = new System.Windows.Forms.ListView();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// Identifier
|
||||
//
|
||||
this.Identifier.Location = new System.Drawing.Point(16, 24);
|
||||
this.Identifier.Name = "Identifier";
|
||||
this.Identifier.Size = new System.Drawing.Size(64, 24);
|
||||
this.Identifier.TabIndex = 0;
|
||||
this.Identifier.Text = "Identifier";
|
||||
//
|
||||
// SecretID
|
||||
//
|
||||
this.SecretID.Location = new System.Drawing.Point(72, 24);
|
||||
this.SecretID.Name = "SecretID";
|
||||
this.SecretID.ReadOnly = true;
|
||||
this.SecretID.Size = new System.Drawing.Size(304, 20);
|
||||
this.SecretID.TabIndex = 1;
|
||||
this.SecretID.Text = "";
|
||||
//
|
||||
// Value
|
||||
//
|
||||
this.Value.Location = new System.Drawing.Point(16, 64);
|
||||
this.Value.Name = "Value";
|
||||
this.Value.Size = new System.Drawing.Size(40, 16);
|
||||
this.Value.TabIndex = 2;
|
||||
this.Value.Text = "Value";
|
||||
//
|
||||
// btnClose
|
||||
//
|
||||
this.btnClose.Location = new System.Drawing.Point(336, 312);
|
||||
this.btnClose.Name = "btnClose";
|
||||
this.btnClose.Size = new System.Drawing.Size(64, 24);
|
||||
this.btnClose.TabIndex = 4;
|
||||
this.btnClose.Text = "Close";
|
||||
this.btnClose.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// dateCreated
|
||||
//
|
||||
this.dateCreated.Location = new System.Drawing.Point(16, 232);
|
||||
this.dateCreated.Name = "dateCreated";
|
||||
this.dateCreated.Size = new System.Drawing.Size(72, 16);
|
||||
this.dateCreated.TabIndex = 5;
|
||||
this.dateCreated.Text = "Created";
|
||||
//
|
||||
// ModifiedLabel
|
||||
//
|
||||
this.ModifiedLabel.Location = new System.Drawing.Point(16, 256);
|
||||
this.ModifiedLabel.Name = "ModifiedLabel";
|
||||
this.ModifiedLabel.Size = new System.Drawing.Size(48, 16);
|
||||
this.ModifiedLabel.TabIndex = 6;
|
||||
this.ModifiedLabel.Text = "Modified";
|
||||
//
|
||||
// CreatedLabel2
|
||||
//
|
||||
this.CreatedLabel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.CreatedLabel2.Name = "CreatedLabel2";
|
||||
this.CreatedLabel2.TabIndex = 0;
|
||||
//
|
||||
// Modified
|
||||
//
|
||||
this.Modified.Location = new System.Drawing.Point(96, 256);
|
||||
this.Modified.Name = "Modified";
|
||||
this.Modified.Size = new System.Drawing.Size(272, 16);
|
||||
this.Modified.TabIndex = 8;
|
||||
//
|
||||
// created
|
||||
//
|
||||
this.created.Location = new System.Drawing.Point(96, 232);
|
||||
this.created.Name = "created";
|
||||
this.created.Size = new System.Drawing.Size(288, 16);
|
||||
this.created.TabIndex = 9;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(16, 280);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(72, 16);
|
||||
this.label1.TabIndex = 10;
|
||||
this.label1.Text = "Last accessed";
|
||||
//
|
||||
// labAccessed
|
||||
//
|
||||
this.labAccessed.Location = new System.Drawing.Point(96, 280);
|
||||
this.labAccessed.Name = "labAccessed";
|
||||
this.labAccessed.Size = new System.Drawing.Size(280, 16);
|
||||
this.labAccessed.TabIndex = 11;
|
||||
//
|
||||
// cbDisplayValues
|
||||
//
|
||||
this.cbDisplayValues.Location = new System.Drawing.Point(72, 192);
|
||||
this.cbDisplayValues.Name = "cbDisplayValues";
|
||||
this.cbDisplayValues.TabIndex = 12;
|
||||
this.cbDisplayValues.Text = "Display values";
|
||||
this.cbDisplayValues.CheckedChanged += new System.EventHandler(this.cbDisplayValues_CheckedChanged);
|
||||
//
|
||||
// listView1
|
||||
//
|
||||
this.listView1.FullRowSelect = true;
|
||||
this.listView1.GridLines = true;
|
||||
this.listView1.Location = new System.Drawing.Point(72, 64);
|
||||
this.listView1.Name = "listView1";
|
||||
this.listView1.Size = new System.Drawing.Size(304, 120);
|
||||
this.listView1.TabIndex = 13;
|
||||
//
|
||||
// DisplaySecret
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||||
this.ClientSize = new System.Drawing.Size(424, 358);
|
||||
this.Controls.Add(this.listView1);
|
||||
this.Controls.Add(this.cbDisplayValues);
|
||||
this.Controls.Add(this.labAccessed);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.created);
|
||||
this.Controls.Add(this.Modified);
|
||||
this.Controls.Add(this.ModifiedLabel);
|
||||
this.Controls.Add(this.dateCreated);
|
||||
this.Controls.Add(this.btnClose);
|
||||
this.Controls.Add(this.Value);
|
||||
this.Controls.Add(this.SecretID);
|
||||
this.Controls.Add(this.Identifier);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "DisplaySecret";
|
||||
this.ShowInTaskbar = false;
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "View Secret";
|
||||
this.TopMost = true;
|
||||
this.Load += new System.EventHandler(this.DisplaySecret_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
public void setData(string sID, Secret secret, string sCreated, string sModified, string sAccessed)
|
||||
{
|
||||
m_secret = secret;
|
||||
this.SecretID.Text = sID;
|
||||
|
||||
showNameValues(secret);
|
||||
this.created.Text = sCreated;
|
||||
this.Modified.Text = sModified;
|
||||
this.labAccessed.Text = sAccessed;
|
||||
this.Refresh();
|
||||
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
Dispose(true);
|
||||
}
|
||||
|
||||
private void cbDisplayValues_CheckedChanged(object sender, System.EventArgs e)
|
||||
{
|
||||
if (cbDisplayValues.Checked)
|
||||
{
|
||||
DialogResult DR=new DialogResult() ;
|
||||
DR=MessageBox.Show ("Is the area secure?","Display Values",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
|
||||
string Str=DR.ToString();
|
||||
|
||||
switch (Str)
|
||||
{
|
||||
case "No":
|
||||
cbDisplayValues.Checked = false;
|
||||
return;
|
||||
}
|
||||
m_bDisplayValues = true;
|
||||
}
|
||||
else
|
||||
m_bDisplayValues = false;
|
||||
|
||||
showNameValues(m_secret);
|
||||
}
|
||||
private void showNameValues(Secret secret)
|
||||
{
|
||||
NameValueCollection nvc = secret.getKeyValueCollection();
|
||||
|
||||
ListViewItem MyItem;
|
||||
listView1.Items.Clear();
|
||||
|
||||
for (int i=0; i<nvc.Count; i++)
|
||||
{
|
||||
string key = nvc.GetKey(i);
|
||||
|
||||
string[] sValues = nvc.GetValues(key);
|
||||
|
||||
for (int j=0; j<sValues.Length; j++)
|
||||
{
|
||||
MyItem = new ListViewItem(key);
|
||||
if (m_bDisplayValues)
|
||||
MyItem.SubItems.Add(sValues[j]);
|
||||
else
|
||||
MyItem.SubItems.Add("**********");
|
||||
|
||||
listView1.Items.Add(MyItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DisplaySecret_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
listView1.LabelEdit = false;
|
||||
listView1.View = View.Details;
|
||||
listView1.FullRowSelect = true;
|
||||
listView1.Columns.Add("Key", 150, HorizontalAlignment.Left);
|
||||
listView1.Columns.Add("Value", 350, HorizontalAlignment.Left);
|
||||
//listView1.Columns.Add("Married", 50, HorizontalAlignment.Left);
|
||||
/*
|
||||
|
||||
ListViewItem MyItem;
|
||||
|
||||
MyItem = new ListViewItem("Tim");
|
||||
MyItem.SubItems.Add("123-4569");
|
||||
listView1.Items.Add(MyItem);
|
||||
|
||||
MyItem = new ListViewItem("Jack");
|
||||
MyItem.SubItems.Add("546-8965");
|
||||
listView1.Items.Add(MyItem);
|
||||
|
||||
MyItem = new ListViewItem("Phil");
|
||||
MyItem.SubItems.Add("596-8745");
|
||||
listView1.Items.Add(MyItem);
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
247
c_sharp/SecretStoreClientManager/DisplaySecret.resx
Normal file
247
c_sharp/SecretStoreClientManager/DisplaySecret.resx
Normal file
@@ -0,0 +1,247 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Identifier.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="Identifier.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="Identifier.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="SecretID.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="SecretID.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="SecretID.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="Value.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="Value.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="Value.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnClose.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="btnClose.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnClose.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="dateCreated.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="dateCreated.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="dateCreated.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="ModifiedLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="ModifiedLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="ModifiedLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="CreatedLabel2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="CreatedLabel2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="CreatedLabel2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="Modified.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="Modified.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="Modified.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="created.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="created.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="created.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="labAccessed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="labAccessed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="labAccessed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="cbDisplayValues.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="cbDisplayValues.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="cbDisplayValues.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="listView1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="listView1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="listView1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Name">
|
||||
<value>DisplaySecret</value>
|
||||
</data>
|
||||
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>(Default)</value>
|
||||
</data>
|
||||
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
</root>
|
||||
1331
c_sharp/SecretStoreClientManager/Main.cs
Normal file
1331
c_sharp/SecretStoreClientManager/Main.cs
Normal file
File diff suppressed because it is too large
Load Diff
3005
c_sharp/SecretStoreClientManager/Main.resx
Normal file
3005
c_sharp/SecretStoreClientManager/Main.resx
Normal file
File diff suppressed because it is too large
Load Diff
103
c_sharp/SecretStoreClientManager/NewEntry.af-ZA.resx
Normal file
103
c_sharp/SecretStoreClientManager/NewEntry.af-ZA.resx
Normal file
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
</root>
|
||||
115
c_sharp/SecretStoreClientManager/NewEntry.af.resx
Normal file
115
c_sharp/SecretStoreClientManager/NewEntry.af.resx
Normal file
@@ -0,0 +1,115 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="cancel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="Ok.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
</root>
|
||||
279
c_sharp/SecretStoreClientManager/NewEntry.cs
Normal file
279
c_sharp/SecretStoreClientManager/NewEntry.cs
Normal file
@@ -0,0 +1,279 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using Novell.SecretStore.NSSCSWrapper;
|
||||
|
||||
namespace SecretStoreService
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for Form3.
|
||||
/// </summary>
|
||||
public class NewEntry : System.Windows.Forms.Form
|
||||
{
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.TextBox Key;
|
||||
private System.Windows.Forms.TextBox value;
|
||||
private System.Windows.Forms.Button cancel;
|
||||
private System.Windows.Forms.Button Ok;
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
private AddSecretForm m_asf = null;
|
||||
private Secret m_secret = null;
|
||||
|
||||
public NewEntry(AddSecretForm asf, Secret secret)
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
//
|
||||
// TODO: Add any constructor code after InitializeComponent call
|
||||
//
|
||||
m_asf = asf;
|
||||
m_secret = secret;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if(components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(NewEntry));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.Key = new System.Windows.Forms.TextBox();
|
||||
this.value = new System.Windows.Forms.TextBox();
|
||||
this.cancel = new System.Windows.Forms.Button();
|
||||
this.Ok = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AccessibleDescription = resources.GetString("label1.AccessibleDescription");
|
||||
this.label1.AccessibleName = resources.GetString("label1.AccessibleName");
|
||||
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("label1.Anchor")));
|
||||
this.label1.AutoSize = ((bool)(resources.GetObject("label1.AutoSize")));
|
||||
this.label1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("label1.Dock")));
|
||||
this.label1.Enabled = ((bool)(resources.GetObject("label1.Enabled")));
|
||||
this.label1.Font = ((System.Drawing.Font)(resources.GetObject("label1.Font")));
|
||||
this.label1.Image = ((System.Drawing.Image)(resources.GetObject("label1.Image")));
|
||||
this.label1.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label1.ImageAlign")));
|
||||
this.label1.ImageIndex = ((int)(resources.GetObject("label1.ImageIndex")));
|
||||
this.label1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("label1.ImeMode")));
|
||||
this.label1.Location = ((System.Drawing.Point)(resources.GetObject("label1.Location")));
|
||||
this.label1.Name = "label1";
|
||||
this.label1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("label1.RightToLeft")));
|
||||
this.label1.Size = ((System.Drawing.Size)(resources.GetObject("label1.Size")));
|
||||
this.label1.TabIndex = ((int)(resources.GetObject("label1.TabIndex")));
|
||||
this.label1.Text = resources.GetString("label1.Text");
|
||||
this.label1.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label1.TextAlign")));
|
||||
this.label1.Visible = ((bool)(resources.GetObject("label1.Visible")));
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AccessibleDescription = resources.GetString("label2.AccessibleDescription");
|
||||
this.label2.AccessibleName = resources.GetString("label2.AccessibleName");
|
||||
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("label2.Anchor")));
|
||||
this.label2.AutoSize = ((bool)(resources.GetObject("label2.AutoSize")));
|
||||
this.label2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("label2.Dock")));
|
||||
this.label2.Enabled = ((bool)(resources.GetObject("label2.Enabled")));
|
||||
this.label2.Font = ((System.Drawing.Font)(resources.GetObject("label2.Font")));
|
||||
this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
|
||||
this.label2.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label2.ImageAlign")));
|
||||
this.label2.ImageIndex = ((int)(resources.GetObject("label2.ImageIndex")));
|
||||
this.label2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("label2.ImeMode")));
|
||||
this.label2.Location = ((System.Drawing.Point)(resources.GetObject("label2.Location")));
|
||||
this.label2.Name = "label2";
|
||||
this.label2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("label2.RightToLeft")));
|
||||
this.label2.Size = ((System.Drawing.Size)(resources.GetObject("label2.Size")));
|
||||
this.label2.TabIndex = ((int)(resources.GetObject("label2.TabIndex")));
|
||||
this.label2.Text = resources.GetString("label2.Text");
|
||||
this.label2.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label2.TextAlign")));
|
||||
this.label2.Visible = ((bool)(resources.GetObject("label2.Visible")));
|
||||
//
|
||||
// Key
|
||||
//
|
||||
this.Key.AccessibleDescription = resources.GetString("Key.AccessibleDescription");
|
||||
this.Key.AccessibleName = resources.GetString("Key.AccessibleName");
|
||||
this.Key.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("Key.Anchor")));
|
||||
this.Key.AutoSize = ((bool)(resources.GetObject("Key.AutoSize")));
|
||||
this.Key.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("Key.BackgroundImage")));
|
||||
this.Key.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("Key.Dock")));
|
||||
this.Key.Enabled = ((bool)(resources.GetObject("Key.Enabled")));
|
||||
this.Key.Font = ((System.Drawing.Font)(resources.GetObject("Key.Font")));
|
||||
this.Key.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("Key.ImeMode")));
|
||||
this.Key.Location = ((System.Drawing.Point)(resources.GetObject("Key.Location")));
|
||||
this.Key.MaxLength = ((int)(resources.GetObject("Key.MaxLength")));
|
||||
this.Key.Multiline = ((bool)(resources.GetObject("Key.Multiline")));
|
||||
this.Key.Name = "Key";
|
||||
this.Key.PasswordChar = ((char)(resources.GetObject("Key.PasswordChar")));
|
||||
this.Key.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("Key.RightToLeft")));
|
||||
this.Key.ScrollBars = ((System.Windows.Forms.ScrollBars)(resources.GetObject("Key.ScrollBars")));
|
||||
this.Key.Size = ((System.Drawing.Size)(resources.GetObject("Key.Size")));
|
||||
this.Key.TabIndex = ((int)(resources.GetObject("Key.TabIndex")));
|
||||
this.Key.Text = resources.GetString("Key.Text");
|
||||
this.Key.TextAlign = ((System.Windows.Forms.HorizontalAlignment)(resources.GetObject("Key.TextAlign")));
|
||||
this.Key.Visible = ((bool)(resources.GetObject("Key.Visible")));
|
||||
this.Key.WordWrap = ((bool)(resources.GetObject("Key.WordWrap")));
|
||||
//
|
||||
// value
|
||||
//
|
||||
this.value.AccessibleDescription = resources.GetString("value.AccessibleDescription");
|
||||
this.value.AccessibleName = resources.GetString("value.AccessibleName");
|
||||
this.value.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("value.Anchor")));
|
||||
this.value.AutoSize = ((bool)(resources.GetObject("value.AutoSize")));
|
||||
this.value.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("value.BackgroundImage")));
|
||||
this.value.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("value.Dock")));
|
||||
this.value.Enabled = ((bool)(resources.GetObject("value.Enabled")));
|
||||
this.value.Font = ((System.Drawing.Font)(resources.GetObject("value.Font")));
|
||||
this.value.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("value.ImeMode")));
|
||||
this.value.Location = ((System.Drawing.Point)(resources.GetObject("value.Location")));
|
||||
this.value.MaxLength = ((int)(resources.GetObject("value.MaxLength")));
|
||||
this.value.Multiline = ((bool)(resources.GetObject("value.Multiline")));
|
||||
this.value.Name = "value";
|
||||
this.value.PasswordChar = ((char)(resources.GetObject("value.PasswordChar")));
|
||||
this.value.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("value.RightToLeft")));
|
||||
this.value.ScrollBars = ((System.Windows.Forms.ScrollBars)(resources.GetObject("value.ScrollBars")));
|
||||
this.value.Size = ((System.Drawing.Size)(resources.GetObject("value.Size")));
|
||||
this.value.TabIndex = ((int)(resources.GetObject("value.TabIndex")));
|
||||
this.value.Text = resources.GetString("value.Text");
|
||||
this.value.TextAlign = ((System.Windows.Forms.HorizontalAlignment)(resources.GetObject("value.TextAlign")));
|
||||
this.value.Visible = ((bool)(resources.GetObject("value.Visible")));
|
||||
this.value.WordWrap = ((bool)(resources.GetObject("value.WordWrap")));
|
||||
//
|
||||
// cancel
|
||||
//
|
||||
this.cancel.AccessibleDescription = resources.GetString("cancel.AccessibleDescription");
|
||||
this.cancel.AccessibleName = resources.GetString("cancel.AccessibleName");
|
||||
this.cancel.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("cancel.Anchor")));
|
||||
this.cancel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("cancel.BackgroundImage")));
|
||||
this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.cancel.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("cancel.Dock")));
|
||||
this.cancel.Enabled = ((bool)(resources.GetObject("cancel.Enabled")));
|
||||
this.cancel.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("cancel.FlatStyle")));
|
||||
this.cancel.Font = ((System.Drawing.Font)(resources.GetObject("cancel.Font")));
|
||||
this.cancel.Image = ((System.Drawing.Image)(resources.GetObject("cancel.Image")));
|
||||
this.cancel.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("cancel.ImageAlign")));
|
||||
this.cancel.ImageIndex = ((int)(resources.GetObject("cancel.ImageIndex")));
|
||||
this.cancel.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("cancel.ImeMode")));
|
||||
this.cancel.Location = ((System.Drawing.Point)(resources.GetObject("cancel.Location")));
|
||||
this.cancel.Name = "cancel";
|
||||
this.cancel.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("cancel.RightToLeft")));
|
||||
this.cancel.Size = ((System.Drawing.Size)(resources.GetObject("cancel.Size")));
|
||||
this.cancel.TabIndex = ((int)(resources.GetObject("cancel.TabIndex")));
|
||||
this.cancel.Text = resources.GetString("cancel.Text");
|
||||
this.cancel.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("cancel.TextAlign")));
|
||||
this.cancel.Visible = ((bool)(resources.GetObject("cancel.Visible")));
|
||||
this.cancel.Click += new System.EventHandler(this.cancel_Click);
|
||||
//
|
||||
// Ok
|
||||
//
|
||||
this.Ok.AccessibleDescription = resources.GetString("Ok.AccessibleDescription");
|
||||
this.Ok.AccessibleName = resources.GetString("Ok.AccessibleName");
|
||||
this.Ok.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("Ok.Anchor")));
|
||||
this.Ok.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("Ok.BackgroundImage")));
|
||||
this.Ok.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.Ok.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("Ok.Dock")));
|
||||
this.Ok.Enabled = ((bool)(resources.GetObject("Ok.Enabled")));
|
||||
this.Ok.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("Ok.FlatStyle")));
|
||||
this.Ok.Font = ((System.Drawing.Font)(resources.GetObject("Ok.Font")));
|
||||
this.Ok.Image = ((System.Drawing.Image)(resources.GetObject("Ok.Image")));
|
||||
this.Ok.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("Ok.ImageAlign")));
|
||||
this.Ok.ImageIndex = ((int)(resources.GetObject("Ok.ImageIndex")));
|
||||
this.Ok.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("Ok.ImeMode")));
|
||||
this.Ok.Location = ((System.Drawing.Point)(resources.GetObject("Ok.Location")));
|
||||
this.Ok.Name = "Ok";
|
||||
this.Ok.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("Ok.RightToLeft")));
|
||||
this.Ok.Size = ((System.Drawing.Size)(resources.GetObject("Ok.Size")));
|
||||
this.Ok.TabIndex = ((int)(resources.GetObject("Ok.TabIndex")));
|
||||
this.Ok.Text = resources.GetString("Ok.Text");
|
||||
this.Ok.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("Ok.TextAlign")));
|
||||
this.Ok.Visible = ((bool)(resources.GetObject("Ok.Visible")));
|
||||
this.Ok.Click += new System.EventHandler(this.Ok_Click);
|
||||
//
|
||||
// NewEntry
|
||||
//
|
||||
this.AcceptButton = this.Ok;
|
||||
this.AccessibleDescription = resources.GetString("$this.AccessibleDescription");
|
||||
this.AccessibleName = resources.GetString("$this.AccessibleName");
|
||||
this.AutoScaleBaseSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScaleBaseSize")));
|
||||
this.AutoScroll = ((bool)(resources.GetObject("$this.AutoScroll")));
|
||||
this.AutoScrollMargin = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMargin")));
|
||||
this.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMinSize")));
|
||||
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
|
||||
this.CancelButton = this.cancel;
|
||||
this.ClientSize = ((System.Drawing.Size)(resources.GetObject("$this.ClientSize")));
|
||||
this.Controls.Add(this.cancel);
|
||||
this.Controls.Add(this.Ok);
|
||||
this.Controls.Add(this.value);
|
||||
this.Controls.Add(this.Key);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Enabled = ((bool)(resources.GetObject("$this.Enabled")));
|
||||
this.Font = ((System.Drawing.Font)(resources.GetObject("$this.Font")));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("$this.ImeMode")));
|
||||
this.Location = ((System.Drawing.Point)(resources.GetObject("$this.Location")));
|
||||
this.MaximizeBox = false;
|
||||
this.MaximumSize = ((System.Drawing.Size)(resources.GetObject("$this.MaximumSize")));
|
||||
this.MinimizeBox = false;
|
||||
this.MinimumSize = ((System.Drawing.Size)(resources.GetObject("$this.MinimumSize")));
|
||||
this.Name = "NewEntry";
|
||||
this.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("$this.RightToLeft")));
|
||||
this.ShowInTaskbar = false;
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = ((System.Windows.Forms.FormStartPosition)(resources.GetObject("$this.StartPosition")));
|
||||
this.Text = resources.GetString("$this.Text");
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void Ok_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
|
||||
if (this.Key.Text != null && this.value.Text != null)
|
||||
{
|
||||
//m_asf.keyValueBox.Items.Add(Key.Text + "=" + value.Text);
|
||||
m_secret.setKeyValuePair(Key.Text.ToString(), value.Text.ToString());
|
||||
m_asf.refreshKeyValueBox();
|
||||
}
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void cancel_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
public void setKeyValue(string sKey, string sValue)
|
||||
{
|
||||
this.Key.Text = sKey;
|
||||
this.value.Text = sValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
664
c_sharp/SecretStoreClientManager/NewEntry.resx
Normal file
664
c_sharp/SecretStoreClientManager/NewEntry.resx
Normal file
@@ -0,0 +1,664 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="label1.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="label1.Enabled" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label1.Font" type="System.Drawing.Font, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>Tahoma, 9.75pt</value>
|
||||
</data>
|
||||
<data name="label1.Image" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="label1.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>MiddleCenter</value>
|
||||
</data>
|
||||
<data name="label1.ImageIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>-1</value>
|
||||
</data>
|
||||
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>32, 32</value>
|
||||
</data>
|
||||
<data name="label1.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>56, 24</value>
|
||||
</data>
|
||||
<data name="label1.TabIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="label1.Text">
|
||||
<value>Key:</value>
|
||||
</data>
|
||||
<data name="label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="label1.Visible" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>label1.Name">
|
||||
<value>label1</value>
|
||||
</data>
|
||||
<data name=">>label1.Type">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>label1.Parent">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>label1.ZOrder">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="label2.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="label2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="label2.AutoSize" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="label2.Enabled" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label2.Font" type="System.Drawing.Font, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>Tahoma, 9.75pt</value>
|
||||
</data>
|
||||
<data name="label2.Image" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="label2.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>MiddleCenter</value>
|
||||
</data>
|
||||
<data name="label2.ImageIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>-1</value>
|
||||
</data>
|
||||
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="label2.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>32, 80</value>
|
||||
</data>
|
||||
<data name="label2.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="label2.Size" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>56, 24</value>
|
||||
</data>
|
||||
<data name="label2.TabIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="label2.Text">
|
||||
<value>Value:</value>
|
||||
</data>
|
||||
<data name="label2.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="label2.Visible" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>label2.Name">
|
||||
<value>label2</value>
|
||||
</data>
|
||||
<data name=">>label2.Type">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>label2.Parent">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>label2.ZOrder">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="Key.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="Key.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="Key.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="Key.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Key.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Key.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="Key.AutoSize" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="Key.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Key.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="Key.Enabled" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="Key.Font" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Key.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="Key.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>80, 32</value>
|
||||
</data>
|
||||
<data name="Key.MaxLength" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>32767</value>
|
||||
</data>
|
||||
<data name="Key.Multiline" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="Key.PasswordChar" type="System.Char, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Key.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="Key.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="Key.Size" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>280, 20</value>
|
||||
</data>
|
||||
<data name="Key.TabIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="Key.Text">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Key.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="Key.Visible" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="Key.WordWrap" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>Key.Name">
|
||||
<value>Key</value>
|
||||
</data>
|
||||
<data name=">>Key.Type">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>Key.Parent">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>Key.ZOrder">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="value.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="value.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="value.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="value.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="value.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="value.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="value.AutoSize" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="value.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="value.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="value.Enabled" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="value.Font" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="value.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="value.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>80, 80</value>
|
||||
</data>
|
||||
<data name="value.MaxLength" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>32767</value>
|
||||
</data>
|
||||
<data name="value.Multiline" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="value.PasswordChar" type="System.Char, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="value.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="value.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="value.Size" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>280, 20</value>
|
||||
</data>
|
||||
<data name="value.TabIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="value.Text">
|
||||
<value />
|
||||
</data>
|
||||
<data name="value.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="value.Visible" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="value.WordWrap" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>value.Name">
|
||||
<value>value</value>
|
||||
</data>
|
||||
<data name=">>value.Type">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>value.Parent">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>value.ZOrder">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="cancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="cancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="cancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="cancel.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cancel.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="cancel.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cancel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="cancel.Enabled" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="cancel.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Standard</value>
|
||||
</data>
|
||||
<data name="cancel.Font" type="System.Drawing.Font, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>Tahoma, 8pt</value>
|
||||
</data>
|
||||
<data name="cancel.Image" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cancel.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>MiddleCenter</value>
|
||||
</data>
|
||||
<data name="cancel.ImageIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>-1</value>
|
||||
</data>
|
||||
<data name="cancel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="cancel.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>208, 136</value>
|
||||
</data>
|
||||
<data name="cancel.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="cancel.Size" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>56, 24</value>
|
||||
</data>
|
||||
<data name="cancel.TabIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="cancel.Text">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="cancel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>MiddleCenter</value>
|
||||
</data>
|
||||
<data name="cancel.Visible" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>cancel.Name">
|
||||
<value>cancel</value>
|
||||
</data>
|
||||
<data name=">>cancel.Type">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>cancel.Parent">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cancel.ZOrder">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="Ok.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="Ok.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="Ok.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="Ok.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Ok.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Ok.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="Ok.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Ok.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="Ok.Enabled" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="Ok.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Standard</value>
|
||||
</data>
|
||||
<data name="Ok.Font" type="System.Drawing.Font, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>Tahoma, 8pt</value>
|
||||
</data>
|
||||
<data name="Ok.Image" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Ok.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>MiddleCenter</value>
|
||||
</data>
|
||||
<data name="Ok.ImageIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>-1</value>
|
||||
</data>
|
||||
<data name="Ok.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="Ok.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>112, 136</value>
|
||||
</data>
|
||||
<data name="Ok.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="Ok.Size" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>56, 24</value>
|
||||
</data>
|
||||
<data name="Ok.TabIndex" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="Ok.Text">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="Ok.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>MiddleCenter</value>
|
||||
</data>
|
||||
<data name="Ok.Visible" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name=">>Ok.Name">
|
||||
<value>Ok</value>
|
||||
</data>
|
||||
<data name=">>Ok.Type">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>Ok.Parent">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>Ok.ZOrder">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>(Default)</value>
|
||||
</data>
|
||||
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Name">
|
||||
<value>NewEntry</value>
|
||||
</data>
|
||||
<data name="$this.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="$this.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="$this.AutoScaleBaseSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>5, 13</value>
|
||||
</data>
|
||||
<data name="$this.AutoScroll" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.AutoScrollMargin" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="$this.AutoScrollMinSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="$this.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>384, 190</value>
|
||||
</data>
|
||||
<data name="$this.Enabled" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Resources.ResXNullRef, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value />
|
||||
</data>
|
||||
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="$this.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="$this.MaximumSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="$this.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>CenterParent</value>
|
||||
</data>
|
||||
<data name="$this.Text">
|
||||
<value>New Entry</value>
|
||||
</data>
|
||||
<data name=">>$this.Name">
|
||||
<value>NewEntry</value>
|
||||
</data>
|
||||
<data name=">>$this.Type">
|
||||
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
</root>
|
||||
103
c_sharp/SecretStoreClientManager/Prompt.cs
Normal file
103
c_sharp/SecretStoreClientManager/Prompt.cs
Normal file
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace SecretStoreService
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for Prompt.
|
||||
/// </summary>
|
||||
public class Prompt : System.Windows.Forms.Form
|
||||
{
|
||||
private System.Windows.Forms.Button btnOK;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
|
||||
public Prompt()
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
//
|
||||
// TODO: Add any constructor code after InitializeComponent call
|
||||
//
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if(components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnOK
|
||||
//
|
||||
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnOK.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.btnOK.Location = new System.Drawing.Point(48, 192);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(56, 24);
|
||||
this.btnOK.TabIndex = 3;
|
||||
this.btnOK.Text = "OK";
|
||||
this.btnOK.Visible = false;
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.btnCancel.Location = new System.Drawing.Point(152, 192);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(56, 24);
|
||||
this.btnCancel.TabIndex = 4;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
this.btnCancel.Visible = false;
|
||||
//
|
||||
// Prompt
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||||
this.CausesValidation = false;
|
||||
this.ClientSize = new System.Drawing.Size(292, 266);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnOK);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "Prompt";
|
||||
this.ShowInTaskbar = false;
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Prompt";
|
||||
this.TopMost = true;
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
148
c_sharp/SecretStoreClientManager/Prompt.resx
Normal file
148
c_sharp/SecretStoreClientManager/Prompt.resx
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="btnOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="btnCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>(Default)</value>
|
||||
</data>
|
||||
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="$this.Name">
|
||||
<value>Prompt</value>
|
||||
</data>
|
||||
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
</root>
|
||||
216
c_sharp/SecretStoreClientManager/SSInfo.cs
Normal file
216
c_sharp/SecretStoreClientManager/SSInfo.cs
Normal file
@@ -0,0 +1,216 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace SecretStoreService
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for Form2.
|
||||
/// </summary>
|
||||
public class Form2 : System.Windows.Forms.Form
|
||||
{
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label server;
|
||||
private System.Windows.Forms.Label clientversion;
|
||||
private System.Windows.Forms.Label serverversion;
|
||||
private System.Windows.Forms.Label numsecrets;
|
||||
private System.Windows.Forms.Label status;
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct SYSTEM_INFO
|
||||
{
|
||||
public uint dwOemId;
|
||||
public uint dwPageSize;
|
||||
public uint lpMinimumApplicationAddress;
|
||||
public uint lpMaximumApplicationAddress;
|
||||
public uint dwActiveProcessorMask;
|
||||
public uint dwNumberOfProcessors;
|
||||
public uint dwProcessorType;
|
||||
public uint dwAllocationGranularity;
|
||||
public uint dwProcessorLevel;
|
||||
public uint dwProcessorRevision;
|
||||
}
|
||||
|
||||
[DllImport("kernel32")]
|
||||
static extern void GetSystemInfo(ref SYSTEM_INFO pSI);
|
||||
|
||||
|
||||
|
||||
public Form2()
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
//
|
||||
// TODO: Add any constructor code after InitializeComponent call
|
||||
//
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if(components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.server = new System.Windows.Forms.Label();
|
||||
this.clientversion = new System.Windows.Forms.Label();
|
||||
this.serverversion = new System.Windows.Forms.Label();
|
||||
this.numsecrets = new System.Windows.Forms.Label();
|
||||
this.status = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(48, 56);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(112, 16);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Client Version=";
|
||||
this.label1.Click += new System.EventHandler(this.label1_Click);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(48, 80);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(88, 16);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "Server Version=";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Location = new System.Drawing.Point(48, 120);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(112, 24);
|
||||
this.label3.TabIndex = 2;
|
||||
this.label3.Text = "Number of Secrets=";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Location = new System.Drawing.Point(48, 144);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(48, 16);
|
||||
this.label4.TabIndex = 3;
|
||||
this.label4.Text = "Status=";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.Location = new System.Drawing.Point(48, 32);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(48, 16);
|
||||
this.label5.TabIndex = 4;
|
||||
this.label5.Text = "Server=";
|
||||
//
|
||||
// server
|
||||
//
|
||||
this.server.Location = new System.Drawing.Point(104, 32);
|
||||
this.server.Name = "server";
|
||||
this.server.Size = new System.Drawing.Size(72, 16);
|
||||
this.server.TabIndex = 5;
|
||||
this.server.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// clientversion
|
||||
//
|
||||
this.clientversion.Location = new System.Drawing.Point(128, 56);
|
||||
this.clientversion.Name = "clientversion";
|
||||
this.clientversion.Size = new System.Drawing.Size(64, 16);
|
||||
this.clientversion.TabIndex = 6;
|
||||
this.clientversion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// serverversion
|
||||
//
|
||||
this.serverversion.Location = new System.Drawing.Point(176, 80);
|
||||
this.serverversion.Name = "serverversion";
|
||||
this.serverversion.Size = new System.Drawing.Size(64, 16);
|
||||
this.serverversion.TabIndex = 7;
|
||||
this.serverversion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// numsecrets
|
||||
//
|
||||
this.numsecrets.Location = new System.Drawing.Point(160, 120);
|
||||
this.numsecrets.Name = "numsecrets";
|
||||
this.numsecrets.Size = new System.Drawing.Size(72, 16);
|
||||
this.numsecrets.TabIndex = 8;
|
||||
this.numsecrets.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// status
|
||||
//
|
||||
this.status.Location = new System.Drawing.Point(112, 144);
|
||||
this.status.Name = "status";
|
||||
this.status.Size = new System.Drawing.Size(88, 16);
|
||||
this.status.TabIndex = 9;
|
||||
this.status.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// Form2
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||||
this.ClientSize = new System.Drawing.Size(336, 278);
|
||||
this.Controls.Add(this.status);
|
||||
this.Controls.Add(this.numsecrets);
|
||||
this.Controls.Add(this.serverversion);
|
||||
this.Controls.Add(this.clientversion);
|
||||
this.Controls.Add(this.server);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Name = "Form2";
|
||||
this.Text = "Secret Store Information";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void label1_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void setInfo(string server, string clientversion, string serverversion, string numsecrets, string status)
|
||||
{
|
||||
this.server.Text = server;
|
||||
this.clientversion.Text = clientversion;
|
||||
this.serverversion.Text = serverversion;
|
||||
this.numsecrets.Text = numsecrets;
|
||||
this.status.Text = status;
|
||||
this.Refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
220
c_sharp/SecretStoreClientManager/SSInfo.resx
Normal file
220
c_sharp/SecretStoreClientManager/SSInfo.resx
Normal file
@@ -0,0 +1,220 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label3.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label4.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label5.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label5.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label5.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="server.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="server.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="server.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="clientversion.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="clientversion.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="clientversion.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="serverversion.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="serverversion.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="serverversion.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="numsecrets.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="numsecrets.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="numsecrets.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="status.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="status.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="status.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>(Default)</value>
|
||||
</data>
|
||||
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Name">
|
||||
<value>Form2</value>
|
||||
</data>
|
||||
</root>
|
||||
37
c_sharp/SecretStoreClientManager/SecretStoreClient.sln
Normal file
37
c_sharp/SecretStoreClientManager/SecretStoreClient.sln
Normal file
@@ -0,0 +1,37 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SecretStoreClientManager", "SecretStoreClientManager.csproj", "{F476D08B-EDFE-46CF-AE20-EF3EEF9FBA6C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.SecretStoreClient.NSSCSWrapper", "..\NSSCSWrapper\Novell.SecretStoreClient.NSSCSWrapper.csproj", "{E21DD887-22F4-4935-9851-409715F663B0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.SecretStore.NSSSWrapper", "..\NSSSWrapper\Novell.SecretStore.NSSSWrapper.csproj", "{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Release = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{F476D08B-EDFE-46CF-AE20-EF3EEF9FBA6C}.Debug.ActiveCfg = Debug|.NET
|
||||
{F476D08B-EDFE-46CF-AE20-EF3EEF9FBA6C}.Debug.Build.0 = Debug|.NET
|
||||
{F476D08B-EDFE-46CF-AE20-EF3EEF9FBA6C}.Release.ActiveCfg = Release|.NET
|
||||
{F476D08B-EDFE-46CF-AE20-EF3EEF9FBA6C}.Release.Build.0 = Release|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Debug.ActiveCfg = Debug|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Debug.Build.0 = Debug|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Release.ActiveCfg = Release|.NET
|
||||
{E21DD887-22F4-4935-9851-409715F663B0}.Release.Build.0 = Release|.NET
|
||||
{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}.Debug.ActiveCfg = Debug|.NET
|
||||
{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}.Debug.Build.0 = Debug|.NET
|
||||
{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}.Release.ActiveCfg = Release|.NET
|
||||
{7D8C5C67-C1B9-486A-8F7B-1D915FD2048E}.Release.Build.0 = Release|.NET
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
BIN
c_sharp/SecretStoreClientManager/SecretStoreClient.suo
Normal file
BIN
c_sharp/SecretStoreClientManager/SecretStoreClient.suo
Normal file
Binary file not shown.
203
c_sharp/SecretStoreClientManager/SecretStoreClientManager.csproj
Normal file
203
c_sharp/SecretStoreClientManager/SecretStoreClientManager.csproj
Normal file
@@ -0,0 +1,203 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP
|
||||
ProjectType = "Local"
|
||||
ProductVersion = "7.10.3077"
|
||||
SchemaVersion = "2.0"
|
||||
ProjectGuid = "{F476D08B-EDFE-46CF-AE20-EF3EEF9FBA6C}"
|
||||
>
|
||||
<Build>
|
||||
<Settings
|
||||
ApplicationIcon = "App.ico"
|
||||
AssemblyKeyContainerName = ""
|
||||
AssemblyName = "SecretStoreService"
|
||||
AssemblyOriginatorKeyFile = ""
|
||||
DefaultClientScript = "JScript"
|
||||
DefaultHTMLPageLayout = "Grid"
|
||||
DefaultTargetSchema = "IE50"
|
||||
DelaySign = "false"
|
||||
OutputType = "WinExe"
|
||||
PreBuildEvent = ""
|
||||
PostBuildEvent = ""
|
||||
RootNamespace = "SecretStoreService"
|
||||
RunPostBuildEvent = "OnBuildSuccess"
|
||||
StartupObject = ""
|
||||
>
|
||||
<Config
|
||||
Name = "Debug"
|
||||
AllowUnsafeBlocks = "true"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "DEBUG;TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "true"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "false"
|
||||
OutputPath = "bin\Debug\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "false"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "true"
|
||||
OutputPath = "bin\Release\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
</Settings>
|
||||
<References>
|
||||
<Reference
|
||||
Name = "System"
|
||||
AssemblyName = "System"
|
||||
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\System.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Data"
|
||||
AssemblyName = "System.Data"
|
||||
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Drawing"
|
||||
AssemblyName = "System.Drawing"
|
||||
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Windows.Forms"
|
||||
AssemblyName = "System.Windows.Forms"
|
||||
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.XML"
|
||||
AssemblyName = "System.Xml"
|
||||
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "NSSSWrapper"
|
||||
AssemblyName = "NSSSWrapper"
|
||||
HintPath = "..\NSSSWrapper\bin\Debug\NSSSWrapper.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "Novell.SecretStore.NSSCSWrapper"
|
||||
AssemblyName = "Novell.SecretStore.NSSCSWrapper"
|
||||
HintPath = "..\NSSCSWrapper\bin\Debug\Novell.SecretStore.NSSCSWrapper.dll"
|
||||
/>
|
||||
</References>
|
||||
</Build>
|
||||
<Files>
|
||||
<Include>
|
||||
<File
|
||||
RelPath = "about.cs"
|
||||
SubType = "Form"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "about.resx"
|
||||
DependentUpon = "about.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Add Secret.cs"
|
||||
SubType = "Form"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Add Secret.resx"
|
||||
DependentUpon = "Add Secret.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "app.config"
|
||||
BuildAction = "None"
|
||||
/>
|
||||
<File
|
||||
RelPath = "App.ico"
|
||||
BuildAction = "Content"
|
||||
/>
|
||||
<File
|
||||
RelPath = "AssemblyInfo.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "DisplaySecret.cs"
|
||||
SubType = "Form"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "DisplaySecret.resx"
|
||||
DependentUpon = "DisplaySecret.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Main.cs"
|
||||
SubType = "Form"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Main.resx"
|
||||
DependentUpon = "Main.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "NewEntry.cs"
|
||||
SubType = "Form"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "NewEntry.af.resx"
|
||||
DependentUpon = "NewEntry.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "NewEntry.af-ZA.resx"
|
||||
DependentUpon = "NewEntry.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "NewEntry.resx"
|
||||
DependentUpon = "NewEntry.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Prompt.cs"
|
||||
SubType = "Form"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Prompt.resx"
|
||||
DependentUpon = "Prompt.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "SSInfo.cs"
|
||||
SubType = "Form"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "SSInfo.resx"
|
||||
DependentUpon = "SSInfo.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
</Include>
|
||||
</Files>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP LastOpenVersion = "7.10.3077" >
|
||||
<Build>
|
||||
<Settings ReferencePath = "D:\ccm\SSClient\SecretStoreClient_src\c_sharp\NSSSWrapper\bin\Debug\;D:\ccm\SSClient\SecretStoreClient_src\c_sharp\NSSCSWrapper\bin\Debug\;" >
|
||||
<Config
|
||||
Name = "Debug"
|
||||
EnableASPDebugging = "false"
|
||||
EnableASPXDebugging = "false"
|
||||
EnableUnmanagedDebugging = "false"
|
||||
EnableSQLServerDebugging = "false"
|
||||
RemoteDebugEnabled = "false"
|
||||
RemoteDebugMachine = ""
|
||||
StartAction = "Project"
|
||||
StartArguments = ""
|
||||
StartPage = ""
|
||||
StartProgram = ""
|
||||
StartURL = ""
|
||||
StartWorkingDirectory = ""
|
||||
StartWithIE = "false"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
EnableASPDebugging = "false"
|
||||
EnableASPXDebugging = "false"
|
||||
EnableUnmanagedDebugging = "false"
|
||||
EnableSQLServerDebugging = "false"
|
||||
RemoteDebugEnabled = "false"
|
||||
RemoteDebugMachine = ""
|
||||
StartAction = "Project"
|
||||
StartArguments = ""
|
||||
StartPage = ""
|
||||
StartProgram = ""
|
||||
StartURL = ""
|
||||
StartWorkingDirectory = ""
|
||||
StartWithIE = "true"
|
||||
/>
|
||||
</Settings>
|
||||
</Build>
|
||||
<OtherProjectSettings
|
||||
CopyProjectDestinationFolder = ""
|
||||
CopyProjectUncPath = ""
|
||||
CopyProjectOption = "0"
|
||||
ProjectView = "ProjectFiles"
|
||||
ProjectTrust = "0"
|
||||
/>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
110
c_sharp/SecretStoreClientManager/about.cs
Normal file
110
c_sharp/SecretStoreClientManager/about.cs
Normal file
@@ -0,0 +1,110 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace SecretStoreService
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for about.
|
||||
/// </summary>
|
||||
public class about : System.Windows.Forms.Form
|
||||
{
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
|
||||
public about()
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
//
|
||||
// TODO: Add any constructor code after InitializeComponent call
|
||||
//
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if(components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.label1.Location = new System.Drawing.Point(32, 32);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(224, 32);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Utility under Construction";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.label2.Location = new System.Drawing.Point(34, 120);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(224, 48);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "Contact Jim Norman for comments and questions";
|
||||
//
|
||||
// about
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||||
this.ClientSize = new System.Drawing.Size(292, 273);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "about";
|
||||
this.ShowInTaskbar = false;
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "about";
|
||||
this.TopMost = true;
|
||||
this.TransparencyKey = System.Drawing.Color.Red;
|
||||
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.about_MouseDown);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
private void about_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
|
||||
{
|
||||
Dispose(true);
|
||||
}
|
||||
|
||||
private void about_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
|
||||
{
|
||||
Dispose(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
148
c_sharp/SecretStoreClientManager/about.resx
Normal file
148
c_sharp/SecretStoreClientManager/about.resx
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.Name">
|
||||
<value>about</value>
|
||||
</data>
|
||||
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>(Default)</value>
|
||||
</data>
|
||||
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
</root>
|
||||
8
c_sharp/SecretStoreClientManager/app.config
Normal file
8
c_sharp/SecretStoreClientManager/app.config
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<!-- User application and configured property settings go here.-->
|
||||
<!-- Example: <add key="settingName" value="settingValue"/> -->
|
||||
<add key="Key.ColumnHeadersVisible" value="True" />
|
||||
</appSettings>
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user