RMS SDK for C++  0.2.1
A client library for using Microsoft RMS from Linux.
ICryptoKey.h
1 /*
2  * ======================================================================
3  * Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
4  * Licensed under the MIT License.
5  * See LICENSE.md in the project root for license information.
6  * ======================================================================
7 */
8 
9 #ifndef _CRYPTO_STREAMS_LIB_ICRYPTOKEY_
10 #define _CRYPTO_STREAMS_LIB_ICRYPTOKEY_
11 #include <memory>
12 #include <stdint.h>
13 namespace rmscrypto {
14 namespace api {
15 class ICryptoKey {
16 public:
17 
18  virtual void Encrypt(const uint8_t *pbIn,
19  uint32_t cbIn,
20  uint8_t *pbOut,
21  uint32_t & cbOut,
22  const uint8_t *pbIv,
23  uint32_t cbIv) = 0;
24  virtual void Decrypt(const uint8_t *pbIn,
25  uint32_t cbIn,
26  uint8_t *pbOut,
27  uint32_t & cbOut,
28  const uint8_t *pbIv,
29  uint32_t cbIv) = 0;
30 };
31 } // namespace api
32 } // namespace rmscrypto
33 
34 #endif // _CRYPTO_STREAMS_LIB_ICRYPTOKEY_
Definition: BlockBasedProtectedStream.cpp:13
Definition: ICryptoKey.h:15