Skip to content

Commit 15269af

Browse files
authored
Merge pull request #48783 from BryanLa/bryanla-akv-updates
Fix exp/nbf secret attributes
2 parents 3be4e63 + 7b1607b commit 15269af

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

articles/key-vault/about-keys-secrets-and-certificates.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: About keys, secrets and certificates
33
description: Overview of REST interface and KV developer details
44
services: key-vault
55
documentationcenter:
6-
author: lleonard-msft
6+
author: BryanLa
77
manager: mbaldwin
88
tags: azure-resource-manager
99

@@ -13,7 +13,7 @@ ms.workload: identity
1313
ms.tgt_pltfrm: na
1414
ms.devlang: na
1515
ms.topic: article
16-
ms.date: 05/09/2018
16+
ms.date: 08/10/2018
1717
ms.author: alleonar
1818

1919
---
@@ -25,26 +25,26 @@ For more general information about Azure Key Vault, see [What is Azure Key Vault
2525

2626
**Key Vault general details**
2727

28-
- [Supporting standards](about-keys-secrets-and-certificates.md#BKMK_Standards)
29-
- [Data types](about-keys-secrets-and-certificates.md#BKMK_DataTypes)
30-
- [Objects, identifiers and, versioning](about-keys-secrets-and-certificates.md#BKMK_ObjId)
28+
- [Supporting standards](#BKMK_Standards)
29+
- [Data types](#BKMK_DataTypes)
30+
- [Objects, identifiers and, versioning](#BKMK_ObjId)
3131

3232
**About keys**
3333

34-
- [Keys and key types](about-keys-secrets-and-certificates.md#BKMK_KeyTypes)
35-
- [RSA algorithms](about-keys-secrets-and-certificates.md#BKMK_RSAAlgorithms)
36-
- [RSA-HSM algorithms](about-keys-secrets-and-certificates.md#BKMK_RSA-HSMAlgorithms)
37-
- [Cryptographic protection](about-keys-secrets-and-certificates.md#BKMK_Cryptographic)
38-
- [Key operations](about-keys-secrets-and-certificates.md#BKMK_KeyOperations)
39-
- [Key attributes](about-keys-secrets-and-certificates.md#BKMK_KeyAttributes)
40-
- [Key tags](about-keys-secrets-and-certificates.md#BKMK_Keytags)
34+
- [Keys and key types](#BKMK_KeyTypes)
35+
- [RSA algorithms](#BKMK_RSAAlgorithms)
36+
- [RSA-HSM algorithms](#BKMK_RSA-HSMAlgorithms)
37+
- [Cryptographic protection](#BKMK_Cryptographic)
38+
- [Key operations](#BKMK_KeyOperations)
39+
- [Key attributes](#BKMK_KeyAttributes)
40+
- [Key tags](#BKMK_Keytags)
4141

4242
**About secrets**
4343

44-
- [Working with Secrets](about-keys-secrets-and-certificates.md#BKMK_WorkingWithSecrets)
45-
- [Secret attributes](about-keys-secrets-and-certificates.md#BKMK_SecretAttrs)
46-
- [Secret tags](about-keys-secrets-and-certificates.md#BKMK_SecretTags)
47-
- [Secret Access Control](about-keys-secrets-and-certificates.md#BKMK_SecretAccessControl)
44+
- [Working with Secrets](#BKMK_WorkingWithSecrets)
45+
- [Secret attributes](#BKMK_SecretAttrs)
46+
- [Secret tags](#BKMK_SecretTags)
47+
- [Secret Access Control](#BKMK_SecretAccessControl)
4848

4949
**About certificates**
5050

@@ -130,7 +130,7 @@ Azure Key Vault supports RSA keys of sizes 2048, 3072 and 4096, and Elliptic Cur
130130

131131
### <a name="BKMK_Cryptographic"></a> Cryptographic protection
132132

133-
The cryptographic modules that Azure Key Vault uses, whether HSM or software, are FIPS validated. You don’t need to do anything special to run in FIPS mode. If you **create** or **import** keys as HSM-protected, they are guaranteed to be processed inside HSMs validated to FIPS 140-2 Level 2 or higher. If you **create** or **import** keys as software-protected then they are processed inside cryptographic modules validated to FIPS 140-2 Level 1 or higher. For more information, see [Keys and key types](about-keys-secrets-and-certificates.md#BKMK_KeyTypes).
133+
The cryptographic modules that Azure Key Vault uses, whether HSM or software, are FIPS validated. You don’t need to do anything special to run in FIPS mode. If you **create** or **import** keys as HSM-protected, they are guaranteed to be processed inside HSMs validated to FIPS 140-2 Level 2 or higher. If you **create** or **import** keys as software-protected then they are processed inside cryptographic modules validated to FIPS 140-2 Level 1 or higher. For more information, see [Keys and key types](#BKMK_KeyTypes).
134134

135135
### <a name="BKMK_ECAlgorithms"></a> EC algorithms
136136
The following algorithm identifiers are supported with EC and EC-HSM keys in Azure Key Vault.
@@ -192,22 +192,22 @@ For more information on JWK objects, see [JSON Web Key (JWK)](http://tools.ietf.
192192

193193
In addition to the key material, the following attributes may be specified. In a JSON Request, the attributes keyword and braces, ‘{‘ ‘}’, are required even if there are no attributes specified.
194194

195-
- *enabled*: boolean, optional, default is **true**. Specifies whether the key is enabled and useable for cryptographic operations. The *enabled* attribute is used in conjunction with *nbf* and *exp*. When an operation occurs between *nbf* and *exp*, it will only be permitted if *enabled* is set to **true**. Operations outside the *nbf* / *exp* window are automatically disallowed, except for certain operation types under [particular conditions](about-keys-secrets-and-certificates.md#BKMK_key-date-time-ctrld-ops).
196-
- *nbf*: IntDate, optional, default is now. The *nbf* (not before) attribute identifies the time before which the key MUST NOT be used for cryptographic operations, except for certain operation types under [particular conditions](about-keys-secrets-and-certificates.md#BKMK_key-date-time-ctrld-ops). The processing of the *nbf* attribute requires that the current date/time MUST be after or equal to the not-before date/time listed in the *nbf* attribute. Azure Key Vault MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing an IntDate value.
197-
- *exp*: IntDate, optional, default is "forever". The *exp* (expiration time) attribute identifies the expiration time on or after which the key MUST NOT be used for cryptographic operation, except for certain operation types under [particular conditions](about-keys-secrets-and-certificates.md#BKMK_key-date-time-ctrld-ops). The processing of the *exp* attribute requires that the current date/time MUST be before the expiration date/time listed in the *exp* attribute. Azure Key Vault MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing an IntDate value.
195+
- *enabled*: boolean, optional, default is **true**. Specifies whether the key is enabled and useable for cryptographic operations. The *enabled* attribute is used in conjunction with *nbf* and *exp*. When an operation occurs between *nbf* and *exp*, it will only be permitted if *enabled* is set to **true**. Operations outside the *nbf* / *exp* window are automatically disallowed, except for certain operation types under [particular conditions](#BKMK_key-date-time-ctrld-ops).
196+
- *nbf*: IntDate, optional, default is now. The *nbf* (not before) attribute identifies the time before which the key MUST NOT be used for cryptographic operations, except for certain operation types under [particular conditions](#BKMK_key-date-time-ctrld-ops). The processing of the *nbf* attribute requires that the current date/time MUST be after or equal to the not-before date/time listed in the *nbf* attribute. Azure Key Vault MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing an IntDate value.
197+
- *exp*: IntDate, optional, default is "forever". The *exp* (expiration time) attribute identifies the expiration time on or after which the key MUST NOT be used for cryptographic operation, except for certain operation types under [particular conditions](#BKMK_key-date-time-ctrld-ops). The processing of the *exp* attribute requires that the current date/time MUST be before the expiration date/time listed in the *exp* attribute. Azure Key Vault MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing an IntDate value.
198198

199199
There are additional read-only attributes that are included in any response that includes key attributes:
200200

201201
- *created*: IntDate, optional. The *created* attribute indicates when this version of the key was created. This value is null for keys created prior to the addition of this attribute. Its value MUST be a number containing an IntDate value.
202202
- *updated*: IntDate, optional. The *updated* attribute indicates when this version of the key was updated. This value is null for keys that were last updated prior to the addition of this attribute. Its value MUST be a number containing an IntDate value.
203203

204-
For more information on IntDate and other data types, see [Data types](about-keys-secrets-and-certificates.md#BKMK_DataTypes)
204+
For more information on IntDate and other data types, see [Data types](#BKMK_DataTypes)
205205

206206
#### <a name="BKMK_key-date-time-ctrld-ops"></a> Date-time controlled operations
207207

208208
Not-yet-valid and expired keys, those outside the *nbf* / *exp* window, will work for **decrypt**, **unwrap** and **verify** operations (won’t return 403, Forbidden). The rationale for using the not-yet-valid state is to allow a key to be tested before production use. The rationale for using the expired state is to allow recovery operations on data that was created when the key was valid. Also, you can disable access to a key using Key Vault policies, or by updating the *enabled* key attribute to **false**.
209209

210-
For more information on data types see, [Data types](about-keys-secrets-and-certificates.md#BKMK_DataTypes).
210+
For more information on data types see, [Data types](#BKMK_DataTypes).
211211

212212
For further information on other possible attributes, see the [JSON Web Key (JWK)](http://tools.ietf.org/html/draft-ietf-jose-json-web-key).
213213

@@ -254,9 +254,9 @@ Azure Key Vault also supports a contentType field for secrets. Clients may speci
254254

255255
In addition to the secret data, the following attributes may be specified:
256256

257-
- *exp*: IntDate, optional, default is **forever**. The *exp* (expiration time) attribute identifies the expiration time on or after which the secret data MUST NOT be retrieved, except in [particular situations](about-keys-secrets-and-certificates.md#BKMK_secret-date-time-ctrld-ops). The processing of the *exp* attribute requires that the current date/time MUST be before the expiration date/time listed in the *exp* attribute. Azure Key Vault MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing an IntDate value.
258-
- *nbf*: IntDate, optional, default is **now**. The *nbf* (not before) attribute identifies the time before which the secret data MUST NOT be retrieved, except in [particular situations](about-keys-secrets-and-certificates.md#BKMK_secret-date-time-ctrld-ops). The processing of the *nbf* attribute requires that the current date/time MUST be after or equal to the not-before date/time listed in the *nbf* attribute. Azure Key Vault MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing an IntDate value.
259-
- *enabled*: boolean, optional, default is **true**. This attribute specifies whether or not the secret data can be retrieved. The enabled attribute is used in conjunction with and *exp* when an operation occurs between and exp, it will only be permitted if enabled is set to **true**. Operations outside the *nbf* and *exp* window are automatically disallowed, except in [particular situations](about-keys-secrets-and-certificates.md#BKMK_secret-date-time-ctrld-ops).
257+
- *exp*: IntDate, optional, default is **forever**. The *exp* (expiration time) attribute identifies the expiration time on or after which the secret data SHOULD NOT be retrieved, except in [particular situations](#BKMK_secret-date-time-ctrld-ops). This field is for **informational** purposes only as it informs users of key vault service that a particular secret may not be used. Its value MUST be a number containing an IntDate value.
258+
- *nbf*: IntDate, optional, default is **now**. The *nbf* (not before) attribute identifies the time before which the secret data SHOULD NOT be retrieved, except in [particular situations](#BKMK_secret-date-time-ctrld-ops). This field is for **informational** purposes only. Its value MUST be a number containing an IntDate value.
259+
- *enabled*: boolean, optional, default is **true**. This attribute specifies whether or not the secret data can be retrieved. The enabled attribute is used in conjunction with and *exp* when an operation occurs between and exp, it will only be permitted if enabled is set to **true**. Operations outside the *nbf* and *exp* window are automatically disallowed, except in [particular situations](#BKMK_secret-date-time-ctrld-ops).
260260

261261
There are additional read-only attributes that are included in any response that includes secret attributes:
262262

@@ -267,7 +267,7 @@ There are additional read-only attributes that are included in any response that
267267

268268
A secret's **get** operation will work for not-yet-valid and expired secrets, outside the *nbf* / *exp* window. Calling a secret's **get** operation, for a not-yet-valid secret, can be used for test purposes. Retrieving (**get**ing) an expired secret, can be used for recovery operations.
269269

270-
For more information on data types see, [Data types](about-keys-secrets-and-certificates.md#BKMK_DataTypes).
270+
For more information on data types see, [Data types](#BKMK_DataTypes).
271271

272272
### <a name="BKMK_SecretAccessControl"></a> Secret Access Control
273273

0 commit comments

Comments
 (0)