Skip to content

tls: copy client CAs and cert store on CertCb - #3537

Closed
indutny wants to merge 2 commits into
nodejs:masterfrom
indutny:fix/tls-ca-sni
Closed

tls: copy client CAs and cert store on CertCb#3537
indutny wants to merge 2 commits into
nodejs:masterfrom
indutny:fix/tls-ca-sni

Conversation

@indutny

Copy link
Copy Markdown
Member

Copy client CA certs and cert store when asynchronously selecting
SecureContext during SNICallback.

Fix: #2772

cc @nodejs/crypto

@mscdexmscdex added the tls Issues and PRs related to the tls subsystem. label Oct 27, 2015
Comment threadsrc/node_crypto.cc Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should check the return code here.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, though it can't fail in current OpenSSL implementation.

@bnoordhuis

Copy link
Copy Markdown
Member

Left some comments. The commit log could go into more detail into why this change is necessary.

@indutny

Copy link
Copy Markdown
MemberAuthor

@bnoordhuis pushed fixes, thanks!

@indutny

Copy link
Copy Markdown
MemberAuthor

@indutny

Copy link
Copy Markdown
MemberAuthor

CI seems to be green, LGTY @bnoordhuis ?

Copy client CA certs and cert store when asynchronously selecting
`SecureContext` during `SNICallback`. We already copy private key,
certificate, and certificate chain, but the client CA certs were
missing.
Fix: nodejs#2772
@indutny

Copy link
Copy Markdown
MemberAuthor

@bnoordhuis updated commit message too

Comment threadsrc/node_crypto.cc Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a comment explaining that SSL_set_client_CA_list takes ownership of the duplicate? And maybe explain why you copy it from the SSL_CTX to the SSL?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK.

@indutny

Copy link
Copy Markdown
MemberAuthor

All fixed, PTAL @bnoordhuis

@indutny

Copy link
Copy Markdown
MemberAuthor

@bnoordhuis

Copy link
Copy Markdown
Member

LGTM

@indutny

Copy link
Copy Markdown
MemberAuthor

Landed in 483a41c, thank you!

@indutnyindutny closed this Nov 13, 2015
@indutny
indutny deleted the fix/tls-ca-sni branch November 13, 2015 17:48
indutny added a commit that referenced this pull request Nov 13, 2015
Copy client CA certs and cert store when asynchronously selecting
`SecureContext` during `SNICallback`. We already copy private key,
certificate, and certificate chain, but the client CA certs were
missing.
Fix: #2772
PR-URL: #3537
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
indutny added a commit that referenced this pull request Nov 17, 2015
Copy client CA certs and cert store when asynchronously selecting
`SecureContext` during `SNICallback`. We already copy private key,
certificate, and certificate chain, but the client CA certs were
missing.
Fix: #2772
PR-URL: #3537
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
@rvaggrvagg mentioned this pull request Dec 17, 2015
@rvagg

Copy link
Copy Markdown
Member

I'm having trouble working out if this is a bugfix or something closer to a semver-minor. @indutny can you make a call on whether this would qualify for backporting to LTS?

@indutny

Copy link
Copy Markdown
MemberAuthor

This is a bugfix.

@indutny

Copy link
Copy Markdown
MemberAuthor

I think it qualifies for backport.

@jasnell

Copy link
Copy Markdown
Member

The line on this one may be rather fuzzy but I tend to agree with @indutny

MylesBorins pushed a commit that referenced this pull request Jan 28, 2016
Copy client CA certs and cert store when asynchronously selecting
`SecureContext` during `SNICallback`. We already copy private key,
certificate, and certificate chain, but the client CA certs were
missing.
Fix: #2772
PR-URL: #3537
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
MylesBorins pushed a commit that referenced this pull request Feb 11, 2016
Copy client CA certs and cert store when asynchronously selecting
`SecureContext` during `SNICallback`. We already copy private key,
certificate, and certificate chain, but the client CA certs were
missing.
Fix: #2772
PR-URL: #3537
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
MylesBorins pushed a commit to MylesBorins/node that referenced this pull request Feb 11, 2016
Copy client CA certs and cert store when asynchronously selecting
`SecureContext` during `SNICallback`. We already copy private key,
certificate, and certificate chain, but the client CA certs were
missing.
Fix: nodejs#2772
PR-URL: nodejs#3537
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
@MylesBorinsMylesBorins mentioned this pull request Feb 11, 2016
MylesBorins pushed a commit to MylesBorins/node that referenced this pull request Feb 15, 2016
Copy client CA certs and cert store when asynchronously selecting
`SecureContext` during `SNICallback`. We already copy private key,
certificate, and certificate chain, but the client CA certs were
missing.
Fix: nodejs#2772
PR-URL: nodejs#3537
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tlsIssues and PRs related to the tls subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@indutny@bnoordhuis@rvagg@jasnell@mscdex@MylesBorins