public VolumeInfo(ulong _volumeSize, FlashAccessMode _accessMode, CKU _volumeOwner, ulong _flags)
 {
     this._volumeSize  = (NativeULong)_volumeSize;
     this._accessMode  = _accessMode;
     this._volumeOwner = _volumeOwner;
     this._flags       = (NativeULong)_flags;
 }
Beispiel #2
0
        public void ChangeVolumeAttributes(CKU userType, string pin,
                                           ulong volumeId, FlashAccessMode newAccessMode, bool permanent)
        {
            if (pin == null)
            {
                throw new ArgumentNullException(nameof(pin));
            }

            byte[] pinArray = ConvertUtils.Utf8StringToBytes(pin);
            string serial   = null;

            if (permanent == true)
            {
                serial = GetTokenInfo().SerialNumber;
            }

            CKR rv = ((LowLevelAPI81.RutokenPkcs11Library)_pkcs11Library).C_EX_ChangeVolumeAttributes(_slotId, (NativeULong)userType,
                                                                                                      pinArray, (NativeULong)(volumeId), newAccessMode, permanent);

            if (rv != CKR.CKR_OK)
            {
                throw new Pkcs11Exception("C_EX_ChangeVolumeAttributes", rv);
            }
            if (permanent == true)
            {
                UpdateSlotId(serial);
            }
        }
 public VolumeFormatInfoExtended(ulong volumeSize, FlashAccessMode accessMode,
                                 CKU volumeOwner, ulong flags)
 {
     CkVolumeFormatInfoExtended = new CK_VOLUME_FORMAT_INFO_EXTENDED
     {
         VolumeSize  = (NativeULong)volumeSize,
         AccessMode  = (NativeULong)accessMode,
         VolumeOwner = (NativeULong)volumeOwner,
         Flags       = (NativeULong)flags
     };
 }
        public CKR C_EX_ChangeVolumeAttributes(NativeULong slotId, NativeULong userType,
            byte[] pin, NativeULong volumeId, FlashAccessMode newAccessMode, bool permanent)
        {
            if (_disposed)
                throw new ObjectDisposedException(GetType().FullName);

            NativeULong pinLength = 0;
            if (pin != null)
                pinLength = (NativeULong)(pin.Length);

            NativeULong rv = _rutokenDelegates.C_EX_ChangeVolumeAttributes(slotId, userType,
                pin, pinLength,
                volumeId, (NativeULong)newAccessMode, permanent);
            return (CKR)rv;
        }
 public IVolumeFormatInfoExtended Create(ulong volumeSize, FlashAccessMode accessMode,
                                         CKU volumeOwner, ulong flags)
 {
     return(new VolumeFormatInfoExtended(volumeSize, accessMode, volumeOwner, flags));
 }
Beispiel #6
0
 internal VolumeInfoExtended(ulong volumeId, ulong volumeSize, FlashAccessMode accessMode, CKU volumeOwner, ulong flags)
     : base(volumeSize, accessMode, volumeOwner, flags)
 {
     _volumeId = (NativeULong)volumeId;
 }
Beispiel #7
0
 public IVolumeInfo Create(ulong VolumeSize, FlashAccessMode AccessMode, CKU VolumeOwner, ulong Flags)
 {
     return(_factory.Create(VolumeSize, AccessMode, VolumeOwner, Flags));
 }
 public IVolumeInfoExtended Create(ulong volumeId, ulong VolumeSize, FlashAccessMode AccessMode, CKU VolumeOwner, ulong Flags)
 {
     return(new VolumeInfoExtended(volumeId, VolumeSize, AccessMode, VolumeOwner, Flags));
 }
Beispiel #9
0
 public string GetAccessModeDescription(FlashAccessMode accessMode)
 {
     return(_accessModesMap.ContainsValue(accessMode) ?
            _accessModesMap.Single(x => x.Value == accessMode).Key : "--");
 }
Beispiel #10
0
 public bool TryGetAccessMode(string accessModeId, out FlashAccessMode accessMode) =>
 _accessModesMap.TryGetValue(accessModeId, out accessMode);