Ejemplo n.º 1
0
        /// <summary>
        /// Gets general information about loaded PKCS#11 library
        /// </summary>
        /// <returns>General information about loaded PKCS#11 library</returns>
        public ILibraryInfo GetInfo()
        {
            if (this._disposed)
            {
                throw new ObjectDisposedException(this.GetType().FullName);
            }

            _logger.Debug("Pkcs11Library({0})::GetInfo", _libraryPath);

            CK_INFO info = new CK_INFO();
            CKR     rv   = _pkcs11Library.C_GetInfo(ref info);

            if (rv != CKR.CKR_OK)
            {
                throw new Pkcs11Exception("C_GetInfo", rv);
            }

            return(new LibraryInfo(info));
        }