Net.Pkcs11Interop.HighLevelAPI81.Pkcs11UriUtils.GetObjectAttributes C# (CSharp) Method

GetObjectAttributes() public static method

Returns list of object attributes defined by PKCS#11 URI
public static GetObjectAttributes ( Pkcs11Uri pkcs11Uri, List &objectAttributes ) : void
pkcs11Uri Net.Pkcs11Interop.Common.Pkcs11Uri PKCS#11 URI
objectAttributes List List of object attributes defined by PKCS#11 URI
return void
        public static void GetObjectAttributes(Pkcs11Uri pkcs11Uri, out List<ObjectAttribute> objectAttributes)
        {
            if (pkcs11Uri == null)
                throw new ArgumentNullException("pkcs11Uri");

            List<ObjectAttribute> attributes = null;

            if (pkcs11Uri.DefinesObject)
            {
                attributes = new List<ObjectAttribute>();
                if (pkcs11Uri.Type != null)
                    attributes.Add(new ObjectAttribute(CKA.CKA_CLASS, pkcs11Uri.Type.Value));
                if (pkcs11Uri.Object != null)
                    attributes.Add(new ObjectAttribute(CKA.CKA_LABEL, pkcs11Uri.Object));
                if (pkcs11Uri.Id != null)
                    attributes.Add(new ObjectAttribute(CKA.CKA_ID, pkcs11Uri.Id));
            }

            objectAttributes = attributes;
        }
    }