public CKR C_EX_CreateCSR(NativeULong session,
                NativeULong publicKey,
                IntPtr[] dn, NativeULong dnLength,
                out IntPtr csr, out NativeULong csrLength,
                NativeULong privateKey,
                IntPtr[] attributes, NativeULong attributesLength,
                IntPtr[] extensions, NativeULong extensionsLength)
        {
            if (_disposed)
                throw new ObjectDisposedException(GetType().FullName);

            NativeULong rv = _rutokenDelegates.C_EX_CreateCSR(session, publicKey, dn, dnLength, out csr, out csrLength, privateKey, attributes,
                attributesLength, extensions, extensionsLength);

            return (CKR)rv;
        }