2006-01-19 00:34:21 +01:00
|
|
|
|
/***********************************************************************
|
|
|
|
|
*
|
2006-02-01 18:48:29 +01:00
|
|
|
|
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
|
2006-01-19 00:34:21 +01:00
|
|
|
|
*
|
|
|
|
|
* 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
|
2006-01-31 23:01:47 +01:00
|
|
|
|
* Library Lesser General Public License for more details.
|
2006-01-19 00:34:21 +01:00
|
|
|
|
*
|
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
2006-01-31 23:01:47 +01:00
|
|
|
|
* License along with this library; if not, Novell, Inc.
|
2006-01-19 00:34:21 +01:00
|
|
|
|
*
|
|
|
|
|
* To contact Novell about this file by physical or electronic mail,
|
|
|
|
|
* you may find current contact information at www.novell.com.
|
|
|
|
|
*
|
|
|
|
|
***********************************************************************/
|
|
|
|
|
|
2005-10-11 21:51:00 +02:00
|
|
|
|
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 ");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|