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
+50-2Lines changed: 50 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,11 +39,59 @@ 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 Core by creating a dev certificate
43
+
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
+
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:
76
+
77
+
```text
78
+
Running the onCreateCommand from devcontainer.json...
79
+
80
+
The HTTPS developer certificate was generated successfully.
81
+
Updating certificates in /etc/ssl/certs...
82
+
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
83
+
1 added, 0 removed; done.
84
+
Running hooks in /etc/ca-certificates/update.d...
85
+
done.
86
+
```
87
+
88
+
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.
89
+
42
90
### Enabling HTTPS in ASP.NET using your own dev certificate
43
91
44
-
To enable HTTPS in ASP.NET, you can mount an exported copy of your local dev certificate.
92
+
You can mount an exported copy of your local dev certificate for enhanced convenience. This solution is ideal for private projects, but please note that the password will be included in your `devcontainer.json`. Avoid using this method for team projects or open source projects to maintain security best practices.
45
93
46
-
1. Export it using the following command:
94
+
1. Export the local certificate using the following command:
0 commit comments