internal Pkcs11MechanismInfo(CKM mechanism, IMechanismInfo mechanismInfo) { Mechanism = mechanism; MinKeySize = mechanismInfo.MinKeySize; MaxKeySize = mechanismInfo.MaxKeySize; Flags = mechanismInfo.MechanismFlags.Flags; Hw = mechanismInfo.MechanismFlags.Hw; Encrypt = mechanismInfo.MechanismFlags.Encrypt; Decrypt = mechanismInfo.MechanismFlags.Decrypt; Digest = mechanismInfo.MechanismFlags.Digest; Sign = mechanismInfo.MechanismFlags.Sign; SignRecover = mechanismInfo.MechanismFlags.SignRecover; Verify = mechanismInfo.MechanismFlags.Verify; VerifyRecover = mechanismInfo.MechanismFlags.VerifyRecover; Generate = mechanismInfo.MechanismFlags.Generate; GenerateKeyPair = mechanismInfo.MechanismFlags.GenerateKeyPair; Wrap = mechanismInfo.MechanismFlags.Wrap; Unwrap = mechanismInfo.MechanismFlags.Unwrap; Derive = mechanismInfo.MechanismFlags.Derive; Extension = mechanismInfo.MechanismFlags.Extension; EcFp = mechanismInfo.MechanismFlags.EcFp; EcF2m = mechanismInfo.MechanismFlags.EcF2m; EcEcParameters = mechanismInfo.MechanismFlags.EcEcParameters; EcNamedCurve = mechanismInfo.MechanismFlags.EcNamedCurve; EcUncompress = mechanismInfo.MechanismFlags.EcUncompress; EcCompress = mechanismInfo.MechanismFlags.EcCompress; }
private List <Pkcs11MechanismInfo> ReadMechanisms() { List <Pkcs11MechanismInfo> mechanisms = new List <Pkcs11MechanismInfo>(); foreach (CKM mechanism in _slot.GetMechanismList()) { IMechanismInfo mechanismInfo = _slot.GetMechanismInfo(mechanism); mechanisms.Add(new Pkcs11MechanismInfo(mechanism, mechanismInfo)); } return(mechanisms); }
public void _01_BasicMechanismListAndInfoTest() { using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType)) { // Find first slot with token present ISlot slot = Helpers.GetUsableSlot(pkcs11Library); // Get supported mechanisms List <CKM> mechanisms = slot.GetMechanismList(); Assert.IsTrue(mechanisms.Count > 0); // Analyze first supported mechanism IMechanismInfo mechanismInfo = slot.GetMechanismInfo(mechanisms[0]); // Do something interesting with mechanism info Assert.IsNotNull(mechanismInfo.MechanismFlags); } }