using NUnit.Framework;
namespace Net.Pkcs11Interop.Tests.HighLevelAPI
{
[TestFixture()]
public class _11_SeedAndGenerateRandomTest
{
[Test()]
public void _01_SeedRandomTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
ISlot slot = Helpers.GetUsableSlot(pkcs11Library);
using (ISession session = slot.OpenSession(
SessionType.ReadOnly))
{
byte[] seed = ConvertUtils.Utf8StringToBytes("Additional seed material");
session.SeedRandom(seed);
}
}
}
[Test()]
public void _02_GenerateRandomTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
ISlot slot = Helpers.GetUsableSlot(pkcs11Library);
using (ISession session = slot.OpenSession(
SessionType.ReadOnly))
{
byte[] randomData = session.GenerateRandom(256);
Assert.IsTrue(randomData.Length == 256);
}
}
}
}
}