You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-9
Original file line number
Diff line number
Diff line change
@@ -14,29 +14,29 @@ This client is a fully compliant, native Python implementation of the [AWS Encry
14
14
$ pip install aws-encryption-sdk
15
15
```
16
16
17
-
##Concepts
17
+
##Concepts
18
18
There are three main concepts that need to be understood for use of this library:
19
19
20
-
###Master Key Providers
20
+
###Master Key Providers
21
21
Master Key Providers are resources which provide Master Keys.
22
22
An example of a Master Key Provider is [AWS KMS][2].
23
23
24
24
In the context of this client, a MasterKeyProvider object must contain at least one MasterKey object in order to encrypt data.
25
25
26
26
MasterKeyProvider objects can also contain other MasterKeyProviders.
27
27
28
-
###Master Keys
28
+
###Master Keys
29
29
Master Keys provide data keys.
30
30
An example of a Master Key is a [KMS Customer Master Key][3].
31
31
32
-
###Data Keys
32
+
###Data Keys
33
33
Data Keys are the actual encryption keys which are used to encrypt your data.
34
34
35
-
#Usage
35
+
#Usage
36
36
In order to use this client, an instance of a Master Key Provider must be provided.
37
37
For the examples in this readme, the KMSMasterKeyProvider class will be used as an example.
38
38
39
-
##KMSMasterKeyProvider
39
+
##KMSMasterKeyProvider
40
40
The KMSMasterKeyProvider uses the [boto3 SDK][4] to interact with [AWS KMS][2], and as such requires AWS Credentials.
41
41
These can be provided either in the [standard means by which boto3 locates credentials][5], or by providing the KMSMasterKeyProvider a pre-existing instance of a botocore session.
42
42
This later option can be useful if you have some alternate means of storing your AWS credentials or
Once you have an instance of a MasterKeyProvider, you can simply use one of the two high-level encrypt/decrypt functions to encrypt and decrypt your data.
If you are handling large files or simply do not want to put the entire plaintext or ciphertext in memory at once, this library also provides streaming clients.
138
138
The streaming clients are file-like objects, and behave exactly as you would expect a Python file object to behave, supporting context managers and iteration.
139
139
Rather than accepting a string as input, the streaming clients expect an existing file-like object.
0 commit comments