Browse code

Update DCT docs with 1.11 info, fix typos

Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
(cherry picked from commit 77da3bcb72ba4f936c428cb2b912c007a94cb87a)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Riyaz Faizullabhoy authored on 2016/04/21 15:05:44
Showing 5 changed files
... ...
@@ -13,15 +13,11 @@ weight=-1
13 13
 
14 14
 When transferring data among networked systems, *trust* is a central concern. In
15 15
 particular, when communicating over an untrusted medium such as the internet, it
16
-is critical to ensure the integrity and publisher of all the data a system
17
-operates on. You use Docker to push and pull images (data) to a registry. Content trust
18
-gives you the ability to both verify the integrity and the publisher of all the
16
+is critical to ensure the integrity and the publisher of all the data a system
17
+operates on. You use Docker Engine to push and pull images (data) to a public or private registry. Content trust
18
+gives you the ability to verify both the integrity and the publisher of all the
19 19
 data received from a registry over any channel.
20 20
 
21
-Content trust is currently only available for users of the public Docker Hub. It
22
-is currently not available for the Docker Trusted Registry or for private
23
-registries.
24
-
25 21
 ## Understand trust in Docker
26 22
 
27 23
 Content trust allows operations with a remote Docker registry to enforce
... ...
@@ -82,7 +78,7 @@ desirable, unsigned image tags are "invisible" to them.
82 82
 
83 83
 ![Trust view](images/trust_view.png)
84 84
 
85
-To the consumer who does not enabled content trust, nothing about how they
85
+To the consumer who has not enabled content trust, nothing about how they
86 86
 work with Docker images changes. Every image is visible regardless of whether it
87 87
 is signed or not.
88 88
 
... ...
@@ -127,7 +123,7 @@ The following image depicts the various signing keys and their relationships:
127 127
 >tag from this repository prior to the loss.
128 128
 
129 129
 You should backup the root key somewhere safe. Given that it is only required
130
-to create new repositories, it is a good idea to store it offline.
130
+to create new repositories, it is a good idea to store it offline in hardware.
131 131
 For details on securing, and backing up your keys, make sure you
132 132
 read how to [manage keys for content trust](trust_key_mng.md).
133 133
 
... ...
@@ -198,11 +194,12 @@ When you push your first tagged image with content trust enabled, the  `docker`
198 198
 client recognizes this is your first push and:
199 199
 
200 200
  - alerts you that it will create a new root key
201
- - requests a passphrase for the key
201
+ - requests a passphrase for the root key
202 202
  - generates a root key in the `~/.docker/trust` directory
203
+ - requests a passphrase for the repository key
203 204
  - generates a repository key for in the `~/.docker/trust` directory
204 205
 
205
-The passphrase you chose for both the root key and your content key-pair
206
+The passphrase you chose for both the root key and your repository key-pair
206 207
 should be randomly generated and stored in a *password manager*.
207 208
 
208 209
 > **NOTE**: If you omit the `latest` tag, content trust is skipped. This is true
... ...
@@ -267,7 +264,7 @@ Because the tag `docker/cliffs:latest` is not trusted, the `pull` fails.
267 267
 
268 268
 ### Disable content trust for specific operations
269 269
 
270
-A user that wants to disable content trust for a particular operation can use the
270
+A user who wants to disable content trust for a particular operation can use the
271 271
 `--disable-content-trust` flag. **Warning: this flag disables content trust for
272 272
 this operation**. With this flag, Docker will ignore content-trust and allow all
273 273
 operations to be done without verifying any signatures. If we wanted the
... ...
@@ -21,7 +21,7 @@ The easiest way to deploy Notary Server is by using Docker Compose. To follow th
21 21
         docker-compose up -d
22 22
 
23 23
 
24
-    For more detailed documentation about how to deploy Notary Server see https://github.com/docker/notary.
24
+    For more detailed documentation about how to deploy Notary Server see the [instructions to run a Notary service](/notary/running_a_service.md) as well as https://github.com/docker/notary for more information.
25 25
 3. Make sure that your Docker or Notary client trusts Notary Server's certificate before you try to interact with the Notary server.
26 26
 
27 27
 See the instructions for [Docker](../../reference/commandline/cli.md#notary) or
... ...
@@ -10,7 +10,7 @@ parent= "smn_content_trust"
10 10
 
11 11
 # Automation with content trust
12 12
 
13
-Your automation systems that pull or build images can also work with trust. Any automation environment must set `DOCKER_TRUST_ENABLED` either manually or in in a scripted fashion before processing images.
13
+Your automation systems that pull or build images can also work with trust. Any automation environment must set `DOCKER_TRUST_ENABLED` either manually or in a scripted fashion before processing images.
14 14
 
15 15
 ## Bypass requests for passphrases
16 16
 
... ...
@@ -43,7 +43,7 @@ Signing and pushing trust metadata
43 43
 
44 44
 ## Building with content trust
45 45
 
46
-You can also build with content trust. Before running the `docker build` command, you should set the environment variable `DOCKER_CONTENT_TRUST` either manually or in in a scripted fashion. Consider the simple Dockerfile below.
46
+You can also build with content trust. Before running the `docker build` command, you should set the environment variable `DOCKER_CONTENT_TRUST` either manually or in a scripted fashion. Consider the simple Dockerfile below.
47 47
 
48 48
 ```Dockerfile
49 49
 FROM docker/trusttest:latest
... ...
@@ -18,7 +18,7 @@ sharing your repository key (a combination of your targets and snapshot keys -
18 18
 please see "[Manage keys for content trust](trust_key_mng.md)" for more information).
19 19
 A collaborator can keep their own delegation key private.
20 20
 
21
-The `targest/releases` delegation is currently an optional feature - in order
21
+The `targets/releases` delegation is currently an optional feature - in order
22 22
 to set up delegations, you must use the Notary CLI:
23 23
 
24 24
 1. [Download the client](https://github.com/docker/notary/releases) and ensure that it is
... ...
@@ -40,7 +40,7 @@ available on your path
40 40
 
41 41
 For more detailed information about how to use Notary outside of the default
42 42
 Docker Content Trust use cases, please refer to the
43
-[the Notary CLI documentation](https://docs.docker.com/notary/getting_started/).
43
+[the Notary CLI documentation](/notary/getting_started.md).
44 44
 
45 45
 Note that when publishing and listing delegation changes using the Notary client,
46 46
 your Docker Hub credentials are required.
... ...
@@ -37,7 +37,7 @@ workflow.  They need to be
37 37
 
38 38
 Note: Prior to Docker Engine 1.11, the snapshot key was also generated and stored
39 39
 locally client-side. [Use the Notary CLI to manage your snapshot key locally
40
-again](https://docs.docker.com/notary/advanced_usage/#rotate-keys) for
40
+again](/notary/advanced_usage.md#rotate-keys) for
41 41
 repositories created with newer versions of Docker.
42 42
 
43 43
 ## Choosing a passphrase
... ...
@@ -64,6 +64,16 @@ Before backing them up, you should `tar` them into an archive:
64 64
 $ umask 077; tar -zcvf private_keys_backup.tar.gz ~/.docker/trust/private; umask 022
65 65
 ```
66 66
 
67
+## Hardware storage and signing
68
+
69
+Docker Content Trust can store and sign with root keys from a Yubikey 4. The
70
+Yubikey is prioritized over keys stored in the filesystem. When you initialize a
71
+new repository with content trust, Docker Engine looks for a root key locally. If a
72
+key is not found and the Yubikey 4 exists, Docker Engine creates a root key in the
73
+Yubikey 4. Please consult the [Notary documentation](/notary/advanced_usage.md#use-a-yubikey) for more details.
74
+
75
+Prior to Docker Engine 1.11, this feature was only in the experimental branch.
76
+
67 77
 ## Lost keys
68 78
 
69 79
 If a publisher loses keys it means losing the ability to sign trusted content for