Moving micasa 1.5 trunk to Novell forge.

This commit is contained in:
Cameron (Kamran) Mashayekhi
2005-10-11 19:51:00 +00:00
parent 082db33275
commit efe0a5e13c
691 changed files with 116628 additions and 0 deletions

View 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("")]

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

View 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;
}
}
}

View 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>

View 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>

View 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

Binary file not shown.

File diff suppressed because it is too large Load Diff

View 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>

View 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 />

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View 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("")]

View 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;
}
}
}

View 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

File diff suppressed because it is too large Load Diff

View 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>

View 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>

View 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

Binary file not shown.

View 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);
}
}
}
}

View 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);
}
}
}
}

View 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;
}
}
}

View 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);
}
}
}

View 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);
}
}
}

View 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 "";
}
}
}

View File

@@ -0,0 +1,9 @@
OBJS=\
miCasaException\
BasicCredential\
miCASA\
AssemblyInfo\
NativeCalls\
Secret\
SecretStore

View File

@@ -0,0 +1,9 @@
OBJS=\
miCasaException\
BasicCredential\
miCASA\
AssemblyInfo\
NativeCalls\
Secret\
SecretStore

View File

@@ -0,0 +1,9 @@
SRC=\
miCasaException.cs\
BasicCredential.cs\
miCASA.cs\
AssemblyInfo.cs\
NativeCalls.cs\
Secret.cs\
SecretStore.cs

View File

@@ -0,0 +1,9 @@
SRC=\
miCasaException.cs\
BasicCredential.cs\
miCASA.cs\
AssemblyInfo.cs\
NativeCalls.cs\
Secret.cs\
SecretStore.cs

View 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("")]

View 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);
}
}
}

View 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>

View File

@@ -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>

View 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;
}
}
}

View 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);
}
}
}

View 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();
}
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View 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("")]

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

View 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);
*/
}
}
}

View 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>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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>

View 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>

View 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;
}
}
}

View 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="&gt;&gt;label1.Name">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label2.Name">
<value>label2</value>
</data>
<data name="&gt;&gt;label2.Type">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label2.Parent">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;Key.Name">
<value>Key</value>
</data>
<data name="&gt;&gt;Key.Type">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Key.Parent">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;value.Name">
<value>value</value>
</data>
<data name="&gt;&gt;value.Type">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;value.Parent">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;cancel.Name">
<value>cancel</value>
</data>
<data name="&gt;&gt;cancel.Type">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cancel.Parent">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;Ok.Name">
<value>Ok</value>
</data>
<data name="&gt;&gt;Ok.Type">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Ok.Parent">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;$this.Name">
<value>NewEntry</value>
</data>
<data name="&gt;&gt;$this.Type">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View 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
}
}

View 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>

View 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();
}
}
}

View 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>

View 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

Binary file not shown.

View 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>

View File

@@ -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>

View 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);
}
}
}

View 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>

View 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>