Skip to content

Commit d85f827

Browse files
fix(NODE-6241): allow Binary as local kms provider key for auto encryption (#4165)
1 parent cb199ce commit d85f827

File tree

1 file changed

+1
-79
lines changed

1 file changed

+1
-79
lines changed

src/client-side-encryption/auto_encrypter.ts

+1-79
Original file line numberDiff line numberDiff line change
@@ -26,85 +26,7 @@ export interface AutoEncryptionOptions {
2626
/** The namespace where keys are stored in the key vault */
2727
keyVaultNamespace?: string;
2828
/** Configuration options that are used by specific KMS providers during key generation, encryption, and decryption. */
29-
kmsProviders?: {
30-
/** Configuration options for using 'aws' as your KMS provider */
31-
aws?:
32-
| {
33-
/** The access key used for the AWS KMS provider */
34-
accessKeyId: string;
35-
/** The secret access key used for the AWS KMS provider */
36-
secretAccessKey: string;
37-
/**
38-
* An optional AWS session token that will be used as the
39-
* X-Amz-Security-Token header for AWS requests.
40-
*/
41-
sessionToken?: string;
42-
}
43-
| Record<string, never>;
44-
/** Configuration options for using 'local' as your KMS provider */
45-
local?: {
46-
/**
47-
* The master key used to encrypt/decrypt data keys.
48-
* A 96-byte long Buffer or base64 encoded string.
49-
*/
50-
key: Buffer | string;
51-
};
52-
/** Configuration options for using 'azure' as your KMS provider */
53-
azure?:
54-
| {
55-
/** The tenant ID identifies the organization for the account */
56-
tenantId: string;
57-
/** The client ID to authenticate a registered application */
58-
clientId: string;
59-
/** The client secret to authenticate a registered application */
60-
clientSecret: string;
61-
/**
62-
* If present, a host with optional port. E.g. "example.com" or "example.com:443".
63-
* This is optional, and only needed if customer is using a non-commercial Azure instance
64-
* (e.g. a government or China account, which use different URLs).
65-
* Defaults to "login.microsoftonline.com"
66-
*/
67-
identityPlatformEndpoint?: string | undefined;
68-
}
69-
| {
70-
/**
71-
* If present, an access token to authenticate with Azure.
72-
*/
73-
accessToken: string;
74-
}
75-
| Record<string, never>;
76-
/** Configuration options for using 'gcp' as your KMS provider */
77-
gcp?:
78-
| {
79-
/** The service account email to authenticate */
80-
email: string;
81-
/** A PKCS#8 encrypted key. This can either be a base64 string or a binary representation */
82-
privateKey: string | Buffer;
83-
/**
84-
* If present, a host with optional port. E.g. "example.com" or "example.com:443".
85-
* Defaults to "oauth2.googleapis.com"
86-
*/
87-
endpoint?: string | undefined;
88-
}
89-
| {
90-
/**
91-
* If present, an access token to authenticate with GCP.
92-
*/
93-
accessToken: string;
94-
}
95-
| Record<string, never>;
96-
/**
97-
* Configuration options for using 'kmip' as your KMS provider
98-
*/
99-
kmip?: {
100-
/**
101-
* The output endpoint string.
102-
* The endpoint consists of a hostname and port separated by a colon.
103-
* E.g. "example.com:123". A port is always present.
104-
*/
105-
endpoint?: string;
106-
};
107-
};
29+
kmsProviders?: KMSProviders;
10830
/**
10931
* A map of namespaces to a local JSON schema for encryption
11032
*

0 commit comments

Comments
 (0)