Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TLS: intermediate certificate verification fails with invalid dnsName #4028

Closed
dweomer opened this issue Feb 22, 2018 · 2 comments
Closed

TLS: intermediate certificate verification fails with invalid dnsName #4028

dweomer opened this issue Feb 22, 2018 · 2 comments

Comments

@dweomer
Copy link

dweomer commented Feb 22, 2018

I have Vault running under TLS provided by a certificate signed by an intermediate from a private PKI. When using 0.9.4 for the client and executing vault status I am seeing an error message that I did not expect:

Error checking seal status: Get https://vault.internal:8200/v1/sys/seal-status: tls: failed to parse certificate from server: x509: cannot parse dnsName "Super Private CA"

This appears to be due to a regression in Go. See golang/go#23995.

Environment:

  • Vault Version: 0.9.4
  • Operating System/Architecture: Linux/x86_64

Expected Behavior:

Key             Value
---             -----
Seal Type       shamir
Sealed          false
Total Shares    5
Threshold       3
Version         0.9.1
Cluster Name    vault-cluster-12345678
Cluster ID      12345678-1234-1234-1234-123456789abc
HA Enabled      true
HA Mode         active
HA Cluster      https://vault.internal:8201

Actual Behavior:

Error checking seal status: Get https://vault.internal:8200/v1/sys/seal-status: tls: failed to parse certificate from server: x509: cannot parse dnsName "Super Private CA"

Steps to Reproduce:

  1. Create an intermediate CA with an "invalid" dnsName and use that to sign a certificate for Vault to serve TLS.
  2. Configure Vault to use said signed certificate.
  3. Attempt to communicate with said Vault, e.g. vault status

References:

@dweomer
Copy link
Author

dweomer commented Feb 22, 2018

I am not sure if there is anything that can be done about this (other than rebuilding Vault with Go 1.9.x instead of 1.10) but this regression renders unusable (for us) the latest (0.9.4) official Vault pre-build binaries (and hence the office image on Docker Hub).

Would it be possible to rebuild and re-issue the Vault 0.9.4 binaries with Go 1.9.x?

@dweomer dweomer changed the title crypto/x509: verification fails with invalid dnsName in intermediate TLS: intermediate certificate verification fails with invalid dnsName Feb 22, 2018
@jefferai
Copy link
Member

No -- you'll need to either build Vault yourself with Go 1.9 (which will entail some backwards porting) or fix your certificates. The fact that non-DNS names were allowed previously was a bug in Go. Sorry, but we're not going to stay on Go 1.9 forever, so there's not much point in keeping it for this release...you'll have to address this issue one way or another at some point.

jefferai added a commit that referenced this issue Feb 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants