258 lines
6.5 KiB
C#
258 lines
6.5 KiB
C#
|
/**************************************************************************
|
|||
|
Copyright (c) [2005] Novell, Inc. All Rights Reserved.
|
|||
|
|
|||
|
This library is free software; you can redistribute it and/or modify it under
|
|||
|
the terms of the GNU Lesser General Public License as published by the Free Software Foundation;
|
|||
|
version 2.1 of the License.
|
|||
|
|
|||
|
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|||
|
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|||
|
See the GNU Lesser General Public License for more details.
|
|||
|
|
|||
|
You should have received a copy of the GNU Lesser General Public License
|
|||
|
along with this library; if not, if not, contact Novell, Inc.
|
|||
|
To contact Novell about this file by physical or electronic mail,
|
|||
|
you may find current contact information at www.novell.com.
|
|||
|
**************************************************************************/
|
|||
|
|
|||
|
using System;
|
|||
|
using Novell.CASA;
|
|||
|
|
|||
|
namespace cSharpTest
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Summary description for Class1.
|
|||
|
/// </summary>
|
|||
|
class Class1
|
|||
|
{
|
|||
|
|
|||
|
private static string APPID = "cSharpAppID";
|
|||
|
//private static string SHARED_ID = "cSharp_SharedID";
|
|||
|
private static string USERNAME = "Admin.nov<6F>ll";
|
|||
|
private static string PASSWORD = "PasswordFor<6F>Admin";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// The main entry point for the application.
|
|||
|
/// </summary>
|
|||
|
[STAThread]
|
|||
|
static void Main(string[] args)
|
|||
|
{
|
|||
|
Console.WriteLine("**************************************************");
|
|||
|
Console.WriteLine("********** miCASA Sample written in C# ***********");
|
|||
|
Console.WriteLine("**************************************************");
|
|||
|
ShowMenu();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
static private void ShowMenu()
|
|||
|
{
|
|||
|
while (true)
|
|||
|
{
|
|||
|
Console.WriteLine();
|
|||
|
Console.WriteLine("********** Menu ***********");
|
|||
|
Console.WriteLine("* 1. Add secret *");
|
|||
|
Console.WriteLine("* 2. Display secret *");
|
|||
|
Console.WriteLine("* 3. Remove secret *");
|
|||
|
Console.WriteLine("* 4. Run automated test *");
|
|||
|
Console.WriteLine("* 5. Quit *");
|
|||
|
Console.WriteLine("***************************");
|
|||
|
|
|||
|
Console.WriteLine("Select option and Press enter");
|
|||
|
String line = Console.ReadLine();
|
|||
|
|
|||
|
if (line.Length > 0)
|
|||
|
{
|
|||
|
char[] c = line.Substring(0, 1).ToCharArray();
|
|||
|
if (c.Length > 0)
|
|||
|
{
|
|||
|
if (c[0].Equals('5'))
|
|||
|
break;
|
|||
|
if (c[0].Equals('1'))
|
|||
|
AddSecret();
|
|||
|
else if (c[0].Equals('2'))
|
|||
|
DisplaySecret();
|
|||
|
else if (c[0].Equals('3'))
|
|||
|
RemoveSecret();
|
|||
|
else if (c[0].Equals('4'))
|
|||
|
RunTest();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
static private void AddSecret()
|
|||
|
{
|
|||
|
while (true)
|
|||
|
{
|
|||
|
Console.Write("Enter SecretID: ");
|
|||
|
String sID = Console.ReadLine();
|
|||
|
|
|||
|
Console.Write("Enter Username: ");
|
|||
|
String sUsername = Console.ReadLine();
|
|||
|
|
|||
|
Console.Write("Enter Password: ");
|
|||
|
String sPassword = Console.ReadLine();
|
|||
|
|
|||
|
if (sID != null && sUsername != null && sPassword != null)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//miCASA.SetBasicCredential(sID, null, sUsername, sPassword);
|
|||
|
miCASA.SetCredential(0, sID, null, miCASA.USERNAME_TYPE_CN_F, sUsername, sPassword);
|
|||
|
}
|
|||
|
catch (miCasaException e)
|
|||
|
{
|
|||
|
Console.WriteLine(e.getMessage());
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Console.WriteLine("Invalid input, try again");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
static private void RemoveSecret()
|
|||
|
{
|
|||
|
Console.Write("Enter SecretID to remove: ");
|
|||
|
String sID = Console.ReadLine();
|
|||
|
if (sID != null)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
miCASA.RemoveBasicCredential(sID, null);
|
|||
|
}
|
|||
|
catch (miCasaException e)
|
|||
|
{
|
|||
|
Console.WriteLine(e.getMessage());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
static private void DisplaySecret()
|
|||
|
{
|
|||
|
Console.Write("Enter SecretID to display: ");
|
|||
|
String sID = Console.ReadLine();
|
|||
|
if (sID != null)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
BasicCredential bc;
|
|||
|
//bc = miCASA.GetBasicCredential(sID, null);
|
|||
|
bc = miCASA.GetCredential(0, sID, null, miCASA.USERNAME_TYPE_CN_F);
|
|||
|
if (bc != null)
|
|||
|
{
|
|||
|
Console.WriteLine("Data for "+sID);
|
|||
|
|
|||
|
Console.WriteLine("------------------------");
|
|||
|
Console.WriteLine("Username:" + bc.GetUsername());
|
|||
|
Console.WriteLine("Password:" + bc.GetPassword());
|
|||
|
Console.WriteLine("------------------------");
|
|||
|
Console.WriteLine("Press the Enter key to continue");
|
|||
|
Console.ReadLine();
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
Console.WriteLine(sID + " not found");
|
|||
|
}
|
|||
|
catch (miCasaException e)
|
|||
|
{
|
|||
|
Console.WriteLine(e.getMessage());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
static private void RunTest()
|
|||
|
{
|
|||
|
|
|||
|
int count = 1;
|
|||
|
Console.Write("Enter times to run: ");
|
|||
|
String sCount = Console.ReadLine();
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
int icount = int.Parse(sCount);
|
|||
|
count = icount;
|
|||
|
}
|
|||
|
catch (Exception)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
for (int i=0; i<count; i++)
|
|||
|
{
|
|||
|
Console.Write("Setting Credential .....");
|
|||
|
try
|
|||
|
{
|
|||
|
miCASA.SetBasicCredential(APPID, null, USERNAME, PASSWORD);
|
|||
|
Console.WriteLine("Succeeded");
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
Console.WriteLine("Failed");
|
|||
|
Console.WriteLine(e.ToString());
|
|||
|
Console.WriteLine(e.StackTrace.ToString());
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
Console.WriteLine("");
|
|||
|
|
|||
|
// did we get it the credential back
|
|||
|
Console.WriteLine("Getting Credential .....");
|
|||
|
try
|
|||
|
{
|
|||
|
BasicCredential bc = miCASA.GetBasicCredential(APPID, null);
|
|||
|
if (bc != null)
|
|||
|
{
|
|||
|
if (bc.GetUsername().Equals(USERNAME))
|
|||
|
Console.WriteLine(" Username matched : "+bc.GetUsername());
|
|||
|
if (bc.GetPassword().Equals(PASSWORD))
|
|||
|
Console.WriteLine(" Password matched : "+bc.GetPassword());
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Console.WriteLine("Failed");
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
Console.WriteLine(e.ToString());
|
|||
|
}
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
Console.WriteLine("\r\nRemoving Credential");
|
|||
|
miCASA.RemoveBasicCredential(APPID, null);
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
Console.WriteLine(e.ToString());
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
BasicCredential bc = miCASA.GetBasicCredential(APPID, null);
|
|||
|
if (bc != null)
|
|||
|
{
|
|||
|
Console.WriteLine("\r\nCredential exists and should not - FAILED!");
|
|||
|
}
|
|||
|
else
|
|||
|
Console.WriteLine("\r\nCredential not found as expected - SUCCESS!");
|
|||
|
}
|
|||
|
catch (Exception)
|
|||
|
{
|
|||
|
Console.WriteLine("\r\n Credential not found as expected - SUCCESS!");
|
|||
|
}
|
|||
|
|
|||
|
Console.WriteLine("Test completed ");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|