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: src/dotnet/README.md
+54-3Lines changed: 54 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,11 +39,62 @@ See [history](history) for information on the contents of each version and [here
39
39
40
40
Alternatively, you can use the contents of [.devcontainer](.devcontainer) to fully customize your container's contents or to build it for a container host architecture not supported by the image.
41
41
42
-
### Enabling HTTPS in ASP.NET using your own dev certificate
42
+
### Enabling HTTPS in ASP.NET Core
43
43
44
-
To enable HTTPS in ASP.NET, you can mount an exported copy of your local dev certificate.
44
+
You can use `dotnet dev-certs https` inside the Dev Container to create a development HTTPS certificate for ASP.NET Core. However, each time the container is recreated, the development certificate will be lost. To make the development certificate survive container rebuilds, you can use a named volume.
45
45
46
-
1. Export it using the following command:
46
+
For example, in `devcontainer.json`, add a named volume for the `x509stores` directory inside the `vscode` user's home folder. Also add a lifecycle script, which adds the development certificate to the Dev Container's trust store.
You should see the following output when the Dev Container is created:
79
+
80
+
```text
81
+
Running the onCreateCommand from devcontainer.json...
82
+
83
+
The HTTPS developer certificate was generated successfully.
84
+
Updating certificates in /etc/ssl/certs...
85
+
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
86
+
1 added, 0 removed; done.
87
+
Running hooks in /etc/ca-certificates/update.d...
88
+
done.
89
+
```
90
+
91
+
Now this certificate will survive container rebuilds. The certificate will also be trusted by code running inside the container like `System.Net.HttpClient`, or tools like wget and curl. If needed, you can use Docker Desktop to export the development certificate to a local directory, in case you need to add it to any other trust stores.
92
+
93
+
#### Alternate solution
94
+
95
+
You can mount an exported copy of your local dev certificate. This solution is only suitable for private projects, as the password will become part of your `devcontainer.json`. Do not apply this solution to team projects or open source projects.
96
+
97
+
1. Export the local certificate using the following command:
0 commit comments