Uh oh!
There was an error while loading. Please reload this page.
test/document TLS authentication, then add support for TRUSTED CERTIFICATE pem headers - #24733
test/document TLS authentication, then add support for TRUSTED CERTIFICATE pem headers#24733sam-github wants to merge 2 commits into
Conversation
Trott
commented
Nov 29, 2018
There was a problem hiding this comment.
Should this module maybe rather be in test/common/?
There was a problem hiding this comment.
I don't know. It predates test/common, AFAICT, but perhaps it should have been moved there when test/common was created? Moving it would be a good code-n-learn activity.
479d168 to
2934a3dCompare2934a3d to
4b48cf9Compare3674751 to
61380b3Comparesam-github
commented
Nov 30, 2018
While I was doing some support yesterday for people banging their head against node's tls, I found that node wasn't working with "TRUSTED CERATIFICATE", and @bnoordhuis pointed me towards the root cause. I pushed the fix onto this PR so I can use the tests to prove it did not used to work, and now it does. is what openssl's-CAfile option eventually leads to, so I believe calling PEM_read_bio_X509_AUX() is the right thing for Node.js to do as well.@addaleax@bnoordhuis PTAL |
sam-github
commented
Nov 30, 2018
Travis failed to find the first commit, as it often does. |
Trott
commented
Dec 2, 2018
Resume Build CI: https://ci.nodejs.org/job/node-test-pull-request/19129/ |
There was a problem hiding this comment.
Wrap in common.mustCall(...) here and below?
There was a problem hiding this comment.
The common connect() function does that already.
bnoordhuis
commented
Dec 2, 2018
The linux failures look unrelated but the windows failures do. As to why the connection is being established when it shouldn't, I have no idea. |
sam-github
commented
Dec 3, 2018
61380b3 to
a75dd8eComparesam-github
commented
Dec 3, 2018
addaleax
commented
Dec 4, 2018
Resume CI (scheduled): https://ci.nodejs.org/job/node-test-pull-request/19190/ |
Trott
commented
Dec 4, 2018
Windows failures on CI are relevant: 03:11:38 not ok 456 parallel/test-tls-client-auth03:11:38 ---03:11:38 duration_ms: 0.23903:11:38 severity: fail03:11:38 exitcode: 103:11:38 stack: |-03:11:38 c:\workspace\node-test-binary-windows\test\parallel\test-tls-client-auth.js:15203:11:38 assert.strictEqual(err.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');03:11:38 ^03:11:38 03:11:38 TypeError: Cannot read property 'code' of undefined03:11:38 at c:\workspace\node-test-binary-windows\test\parallel\test-tls-client-auth.js:152:2603:11:38 at c:\workspace\node-test-binary-windows\test\common\index.js:346:1503:11:38 at maybeCallback (c:\workspace\node-test-binary-windows\test\fixtures\tls-connect.js:97:7)03:11:38 at TLSSocket.<anonymous> (c:\workspace\node-test-binary-windows\test\fixtures\tls-connect.js:68:13)03:11:38 at TLSSocket.emit (events.js:189:13)03:11:38 at TLSSocket.onConnectSecure (_tls_wrap.js:1168:10)03:11:38 at TLSSocket.emit (events.js:189:13)03:11:38 at TLSSocket._finishInit (_tls_wrap.js:629:8)03:11:38 ... |
f838013 to
62e0408Comparesam-github
commented
Dec 7, 2018
Ah, Windows CRLF... I do not love thee. |
sam-github
commented
Dec 7, 2018
linux failures: https://ci.nodejs.org/job/node-test-commit-linux/23842/ Look like exit code test failures, not related to TLS. re-ci: https://ci.nodejs.org/job/node-test-commit-linux/23845/ |
sam-github
commented
Dec 10, 2018
more aix & linux exit code and CLI syntax failures, retry: https://ci.nodejs.org/job/node-test-commit/24172/ |
sam-github
commented
Dec 11, 2018
The only failures were test-cli-syntax.js, which is flaky. I'm re-running ci, but I think this is landable. |
sam-github
commented
Dec 11, 2018
Landed in 83ec33b...2e4a163 |
TLS client authentication should be tested, including failure scenarios. PR-URL: #24733 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
TLS client authentication should be tested, including failure scenarios. PR-URL: #24733 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Notable changes: * **test**: * test TLS client authentication (Sam Roberts) [#24733](#24733) * **tls**: * support "BEGIN TRUSTED CERTIFICATE" for ca: (Sam Roberts) [#24733](#24733) * **tools**: * update ESLint to 5.10.0 (cjihrig) [#24903](#24903) * **util**: * add inspection getter option (Ruben Bridgewater) [#24852](#24852) PR-URL: #25102
Notable changes: * **test**: * test TLS client authentication (Sam Roberts) [#24733](#24733) * **tls**: * support "BEGIN TRUSTED CERTIFICATE" for ca: (Sam Roberts) [#24733](#24733) * **tools**: * update ESLint to 5.10.0 (cjihrig) [#24903](#24903) * **util**: * add inspection getter option (Ruben Bridgewater) [#24852](#24852) PR-URL: #25102
TLS client authentication should be tested, including failure scenarios. PR-URL: nodejs#24733 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Support the same PEM certificate formats for the ca: option to tls.createSecureContext() that are supported by openssl when loading a CAfile. Fixes: nodejs#24761 PR-URL: nodejs#24733 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Notable changes: * **tls**: * support "BEGIN TRUSTED CERTIFICATE" for ca: (Sam Roberts) [nodejs#24733](nodejs#24733) * **util**: * add inspection getter option (Ruben Bridgewater) [nodejs#24852](nodejs#24852) PR-URL: nodejs#25102
TLS client authentication should be tested, including failure scenarios. PR-URL: #24733 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
TLS client authentication should be tested, including failure scenarios. PR-URL: #24733 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Support the same PEM certificate formats for the ca: option to tls.createSecureContext() that are supported by openssl when loading a CAfile. Fixes: nodejs#24761 PR-URL: nodejs#24733 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
TLS client authentication should be tested, including failure scenarios. PR-URL: #24733 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
TLS client authentication should be tested, including failure scenarios.
There were tests for a couple success scenarios as side-effects of testing other things, but little coverage for the various ways intermediate and root CAs can be configured.
Support the same PEM certificate formats for the ca: option to
tls.createSecureContext() that are supported by openssl when loading a
CAfile.
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes