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: docs/pipelines/agents/certificate.md
+9-11Lines changed: 9 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,15 +61,15 @@ Pass `--sslskipcertvalidation` during agent configuration:
61
61
62
62
> [!NOTE]
63
63
>
64
-
> To use the `--sslskipcertvalidation` flag on Linux and macOS, the `libcurl` library on your Linux or macOS machine must be built with OpenSSL. Learn more about the [`libcurl` library](https://github.com/dotnet/corefx/issues/9728).
64
+
> To use the `--sslskipcertvalidation` flag on Linux and macOS, the [`libcurl` library](https://github.com/dotnet/corefx/issues/9728) on your Linux or macOS machine must be built with OpenSSL.
65
65
66
66
### Problem: Git get sources command fails with an SSL certificate (Windows agent only)
67
67
68
68
We ship command-line Git as part of the Windows agent and use this copy of Git for all Git-related operations. When you have a self-signed SSL certificate for your on-premises Azure DevOps Server machine, configure the shipped Git to allow the self-signed SSL certificate.
69
69
70
70
There are two ways to solve this problem:
71
71
72
-
1. Set the following `git config` at a global level by the agent's run as user.
72
+
- Set the following `git config` at a global level by the agent's run as user.
@@ -79,7 +79,7 @@ There are two ways to solve this problem:
79
79
>
80
80
> Setting a system-level `git config` isn't reliable on Windows. The system `.gitconfig` file is stored with the copy of Git we packaged. The packaged Git is replaced every time the agent is upgraded to a new version.
81
81
82
-
2. Enable git to use `SChannel` during configuration when you're using a 2.129.0 or later version agent. Pass `--gituseschannel` during agent configuration.
82
+
- Enable git to use `SChannel` during configuration when you're using a 2.129.0 or later version agent. Pass `--gituseschannel` during agent configuration.
83
83
84
84
```
85
85
./config.cmd --gituseschannel
@@ -101,12 +101,12 @@ When that IIS SSL setting is enabled, you need to use version 2.125.0 or newer a
101
101
- A client certificate in `.pem` format: This file should contain the public key and signature of the client certificate.
102
102
- A client certificate private key in `.pem` format: This file should contain only the private key of the client certificate.
103
103
- A client certificate archive package in `.pfx` format: This file should contain the signature, public key, and private key of the client certificate.
104
-
- Password: Use `SAME` password to protect the client certificate private key and the client certificate archive package, because they both have the client certificate's private key.
104
+
- Password: Use the same password to protect the client certificate private key and the client certificate archive package, because they both have the client certificate's private key.
105
105
106
106
2. Install a CA certificate into the machine certificate store:
107
107
108
108
- Linux: OpenSSL certificate store
109
-
- macOS: System or User Keychain
109
+
- macOS: System or user keychain
110
110
- Windows: Windows certificate store
111
111
112
112
3. Pass `--sslcacert`, `--sslclientcert`, `--sslclientcertkey`. `--sslclientcertarchive`, and `--sslclientcertpassword` during agent configuration.
The `NODE_EXTRA_CA_CERTS` environment variable, introduced in Node v7.3.0, allows you to specify a file that contains one or more CA certificates that Node trusts (in addition to the default bundle). `NODE_EXTRA_CA_CERTS` appends to the trust store. To configure Node.js to trust a certificate:
145
145
146
-
The `NODE_EXTRA_CA_CERTS` environment variable, introduced in Node v7.3.0, allows you to specify a file that contains one or more CA certificates that Node trusts (in addition to the default bundle). `NODE_EXTRA_CA_CERTS` appends to the trust store.
147
-
148
-
1. Export the certificate in PEM format: On your server or CA, export the root (and any intermediate, if needed) certificates as a PEM-encoded file. This format is a text file with `-----BEGIN CERTIFICATE-----` and Base64 data. Make sure that you use Base64-encoded PEM, and not DER. (On Windows, .CER files can be either; you can rename to .pem to avoid confusion. The file can actually have any extension, but .pem or .crt is standard.)
146
+
1. On your server or CA, export the root (and any intermediate, if needed) certificates as a PEM-encoded file. This format is a text file with `-----BEGIN CERTIFICATE-----` and Base64 data. Make sure that you use Base64-encoded PEM, and not DER. (On Windows, .cer files can be either; you can rename to .pem to avoid confusion. The file can actually have any extension, but .pem or .crt is standard.)
149
147
150
148
If you have multiple internal CAs (a chain), you can concatenate them into one file. Node reads all certificates in that file.
151
149
152
-
1. Make the PEM available on the build agent by placing it into a known path (for example `C:\certs\CorpRootCA.pem or /etc/ssl/certs/CorpRootCA.pem`).
150
+
1. Make the PEM available on the build agent by placing it into a known path (for example,`C:\certs\CorpRootCA.pem or /etc/ssl/certs/CorpRootCA.pem`).
153
151
154
-
1. Set an OS environment variable `NODE_EXTRA_CA_CERTS` that points to the PEM file. For example, you can use PowerShell on Windows:
152
+
1. Set an OS environment variable,`NODE_EXTRA_CA_CERTS`, that points to the PEM file. For example, you can use PowerShell on Windows:
0 commit comments