Ejemplo n.º 1
0
 public static extern void IDataReadFromSelfEncryptorNative(
     IntPtr appPtr,
     ulong seHandle,
     ulong fromPos,
     ulong len,
     IntPtr self,
     ByteArrayCb callback);
Ejemplo n.º 2
0
 public static extern void EncryptSealedBoxNative(
     IntPtr appPtr,
     IntPtr data,
     IntPtr len,
     ulong pkHandle,
     IntPtr self,
     ByteArrayCb callback);
Ejemplo n.º 3
0
 public static extern void MDataInfoEncryptEntryValueNative(
     IntPtr appPtr,
     ulong infoH,
     IntPtr inputPtr,
     IntPtr inputLen,
     IntPtr self,
     ByteArrayCb callback);
Ejemplo n.º 4
0
 public static extern void MDataInfoDecryptNative(
     IntPtr appPtr,
     ulong mDataInfoH,
     IntPtr cipherText,
     IntPtr cipherLen,
     IntPtr self,
     ByteArrayCb callback);
Ejemplo n.º 5
0
 private static extern void DecryptSealedBoxNative(
     IntPtr appPtr,
     IntPtr data,
     IntPtr len,
     ulong pkHandle,
     ulong skHandle,
     IntPtr self,
     ByteArrayCb callback);
Ejemplo n.º 6
0
        public static Task <List <byte> > SerialiseAsync(NativeHandle mdataInfoH)
        {
            var         tcs      = new TaskCompletionSource <List <byte> >();
            ByteArrayCb callback = (_, result, bytesPtr, len) => {
                if (result.ErrorCode != 0)
                {
                    tcs.SetException(result.ToException());
                    return;
                }

                tcs.SetResult(bytesPtr.ToList <byte>(len));
            };

            AppBindings.MDataInfoSerialise(Session.AppPtr, mdataInfoH, callback);

            return(tcs.Task);
        }
Ejemplo n.º 7
0
        public static Task <List <byte> > ReadFromSelfEncryptorAsync(NativeHandle seHandle, ulong fromPos, ulong len)
        {
            var         tcs      = new TaskCompletionSource <List <byte> >();
            ByteArrayCb callback = (_, result, dataPtr, dataLen) => {
                if (result.ErrorCode != 0)
                {
                    tcs.SetException(result.ToException());
                    return;
                }
                var data = dataPtr.ToList <byte>(dataLen);
                tcs.SetResult(data);
            };

            AppBindings.IDataReadFromSelfEncryptor(Session.AppPtr, seHandle, fromPos, len, callback);

            return(tcs.Task);
        }
Ejemplo n.º 8
0
        public static Task <List <byte> > EncryptEntryValueAsync(NativeHandle infoH, List <byte> inputBytes)
        {
            var         tcs           = new TaskCompletionSource <List <byte> >();
            var         inputBytesPtr = inputBytes.ToIntPtr();
            ByteArrayCb callback      = (_, result, dataPtr, dataLen) => {
                if (result.ErrorCode != 0)
                {
                    tcs.SetException(result.ToException());
                    return;
                }
                var data = dataPtr.ToList <byte>(dataLen);
                tcs.SetResult(data);
            };

            AppBindings.MDataInfoEncryptEntryValue(Session.AppPtr, infoH, inputBytesPtr, (IntPtr)inputBytes.Count, callback);
            Marshal.FreeHGlobal(inputBytesPtr);

            return(tcs.Task);
        }
Ejemplo n.º 9
0
        public static Task <List <byte> > Sha3HashAsync(List <byte> source)
        {
            var         tcs       = new TaskCompletionSource <List <byte> >();
            var         sourcePtr = source.ToIntPtr();
            ByteArrayCb callback  = (_, result, digestPtr, digestLen) => {
                if (result.ErrorCode != 0)
                {
                    tcs.SetException(result.ToException());
                    return;
                }

                tcs.SetResult(digestPtr.ToList <byte>(digestLen));
            };

            AppBindings.Sha3Hash(sourcePtr, (IntPtr)source.Count, callback);
            Marshal.FreeHGlobal(sourcePtr);

            return(tcs.Task);
        }
Ejemplo n.º 10
0
        public static Task <List <byte> > DecryptSealedBoxAsync(List <byte> cipherText, NativeHandle pkHandle, NativeHandle skHandle)
        {
            var         tcs       = new TaskCompletionSource <List <byte> >();
            var         cipherPtr = cipherText.ToIntPtr();
            ByteArrayCb callback  = (_, result, dataPtr, dataLen) => {
                if (result.ErrorCode != 0)
                {
                    tcs.SetException(result.ToException());
                    return;
                }

                var data = dataPtr.ToList <byte>(dataLen);

                tcs.SetResult(data);
            };

            AppBindings.DecryptSealedBox(Session.AppPtr, cipherPtr, (IntPtr)cipherText.Count, pkHandle, skHandle, callback);
            Marshal.FreeHGlobal(cipherPtr);

            return(tcs.Task);
        }
Ejemplo n.º 11
0
        public static Task <List <byte> > DecryptAsync(NativeHandle mDataInfoH, List <byte> cipherText)
        {
            var tcs       = new TaskCompletionSource <List <byte> >();
            var cipherPtr = cipherText.ToIntPtr();
            var cipherLen = (IntPtr)cipherText.Count;

            ByteArrayCb callback = (_, result, plainText, len) => {
                if (result.ErrorCode != 0)
                {
                    tcs.SetException(result.ToException());
                    return;
                }

                var byteList = plainText.ToList <byte>(len);
                tcs.SetResult(byteList);
            };

            AppBindings.MDataInfoDecrypt(Session.AppPtr, mDataInfoH, cipherPtr, cipherLen, callback);
            Marshal.FreeHGlobal(cipherPtr);

            return(tcs.Task);
        }
Ejemplo n.º 12
0
 public static extern void Sha3HashNative(IntPtr data, IntPtr len, IntPtr self, ByteArrayCb callback);
Ejemplo n.º 13
0
 public void MDataInfoSerialise(IntPtr appPtr, ulong infoHandle, ByteArrayCb callback)
 {
     MDataInfoSerialiseNative(appPtr, infoHandle, callback.ToHandlePtr(), OnByteArrayCb);
 }
Ejemplo n.º 14
0
 public void MDataInfoEncryptEntryValue(IntPtr appPtr, ulong infoH, IntPtr inputPtr, IntPtr inputLen, ByteArrayCb callback)
 {
     MDataInfoEncryptEntryValueNative(appPtr, infoH, inputPtr, inputLen, callback.ToHandlePtr(), OnByteArrayCb);
 }
Ejemplo n.º 15
0
 public void MDataInfoDecrypt(IntPtr appPtr, ulong mDataInfoH, IntPtr cipherText, IntPtr cipherLen, ByteArrayCb callback)
 {
     MDataInfoDecryptNative(appPtr, mDataInfoH, cipherText, cipherLen, callback.ToHandlePtr(), OnByteArrayCb);
 }
Ejemplo n.º 16
0
 public static extern void MDataInfoSerialiseNative(IntPtr appPtr, ulong infoHandle, IntPtr self, ByteArrayCb callback);
Ejemplo n.º 17
0
 public void IDataReadFromSelfEncryptor(IntPtr appPtr, ulong seHandle, ulong fromPos, ulong len, ByteArrayCb callback)
 {
     IDataReadFromSelfEncryptorNative(appPtr, seHandle, fromPos, len, callback.ToHandlePtr(), OnByteArrayCb);
 }
Ejemplo n.º 18
0
 public void Sha3Hash(IntPtr data, IntPtr len, ByteArrayCb callback)
 {
     Sha3HashNative(data, len, callback.ToHandlePtr(), OnByteArrayCb);
 }
Ejemplo n.º 19
0
 public void EncryptSealedBox(IntPtr appPtr, IntPtr data, IntPtr len, ulong pkHandle, ByteArrayCb callback)
 {
     EncryptSealedBoxNative(appPtr, data, len, pkHandle, callback.ToHandlePtr(), OnByteArrayCb);
 }