128 lines
2.2 KiB
C#
128 lines
2.2 KiB
C#
|
using System;
|
||
|
using System.Text;
|
||
|
using System.Collections.Specialized;
|
||
|
using System.Runtime.InteropServices;
|
||
|
|
||
|
namespace Novell.CASA.DataEngines.KWallet
|
||
|
{
|
||
|
|
||
|
public class kwallet
|
||
|
{
|
||
|
|
||
|
//private static int MAX_NAME_LENGTH = 512;
|
||
|
private const string CPP_LIB = "kwallets_rw";
|
||
|
|
||
|
|
||
|
|
||
|
/*
|
||
|
|
||
|
[DllImport(CPP_LIB)]
|
||
|
public static extern void MyTest(
|
||
|
EnumSecretList enumSecretList
|
||
|
);
|
||
|
|
||
|
*/
|
||
|
[DllImport(CPP_LIB)]
|
||
|
public static extern void Aggregate(
|
||
|
EnumSecretList enumSecretList
|
||
|
);
|
||
|
|
||
|
[DllImport(CPP_LIB)]
|
||
|
public static extern void FreeList();
|
||
|
|
||
|
|
||
|
|
||
|
/*
|
||
|
public static int Try(EnumSecretList enumSecretList)
|
||
|
{
|
||
|
MyTest(enumSecretList);
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
*/
|
||
|
public static int AggregateKW(EnumSecretList enumSecretList)
|
||
|
{
|
||
|
Aggregate(enumSecretList);
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
public static int FreeResources()
|
||
|
{
|
||
|
FreeList();
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
//TBD: All this for future.
|
||
|
/*
|
||
|
[DllImport(CPP_LIB)]
|
||
|
public static extern int ReadSecret
|
||
|
(
|
||
|
[MarshalAs(UnmanagedType.LPStr)]
|
||
|
String walletName,
|
||
|
[MarshalAs(UnmanagedType.LPStr)]
|
||
|
String folderName,
|
||
|
[MarshalAs(UnmanagedType.LPStr)]
|
||
|
String key,
|
||
|
[MarshalAs(UnmanagedType.LPStr)]
|
||
|
Byte[] secretVal
|
||
|
);
|
||
|
|
||
|
[DllImport(CPP_LIB)]
|
||
|
public static extern int WriteSecret
|
||
|
(
|
||
|
[MarshalAs(UnmanagedType.LPStr)]
|
||
|
String walletName,
|
||
|
[MarshalAs(UnmanagedType.LPStr)]
|
||
|
String folderName,
|
||
|
int entryType,
|
||
|
[MarshalAs(UnmanagedType.LPStr)]
|
||
|
String key,
|
||
|
[MarshalAs(UnmanagedType.LPStr)]
|
||
|
Byte[] secret
|
||
|
);
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
[DllImport(CPP_LIB)]
|
||
|
public static extern void CloseAllWallets();
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
public static int ReadWallet(String walletName, String folderName, String key, Byte[] secretVal)
|
||
|
{
|
||
|
|
||
|
// Read a secret from wallet
|
||
|
return (ReadSecret(walletName, folderName, key, secretVal));
|
||
|
}
|
||
|
|
||
|
public static int WriteWallet(String walletName, String folderName,int entryType, String key, Byte[] secretVal)
|
||
|
{
|
||
|
|
||
|
// Write secret to wallet
|
||
|
return (WriteSecret( walletName, folderName, entryType, key, secretVal));
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
public static void DisconnectApplication()
|
||
|
{
|
||
|
|
||
|
CloseAllWallets();
|
||
|
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|