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

crypto/tls: export some constants and helpers such as Unmarshaling methods for headers #23679

Closed
cblomart opened this issue Feb 3, 2018 · 3 comments

Comments

@cblomart
Copy link

cblomart commented Feb 3, 2018

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

go version go1.9.1 windows/amd64

Does this issue reproduce with the latest release?

yes

What operating system and processor architecture are you using (go env)?

windows amd64

What did you do?

I am looking for tls server name indication routing and found.
There are different github repositories about that.
They all need to parse tls hello message to get the SNI.

I do think that using "crypto/tls" is the best.
Just to have a single reference on what is tls for golang.

In the end such projects need to implement their own code to decode hello message because most of "crypto/tls" constants and unmarshaling methods are not exported.

What did you expect to see?

Basic constants exported for common tls.
Unmarshaling methods exported for tls "headers"

What did you see instead?

All these informations are not exported by "crypto/tls"

@odeke-em odeke-em changed the title Open crypto/tls a bit. crypto/tls: export some constants and helpers such as Unmarshaling methods for headers Feb 3, 2018
@odeke-em
Copy link
Member

odeke-em commented Feb 3, 2018

Hello @cblomart, thank you for the experience report/bug!

Let me page some crypto folks @agl @FiloSottile @davecheney

@bradfitz
Copy link
Contributor

bradfitz commented Feb 3, 2018

Sorry, we don't want to export more stuff from the crypto/tls package. Any extra API is extra godoc and is extra user confusion when trying to read the docs.

If you just want to parse SNI using crypto/tls, see what I did at https://github.com/google/tcpproxy/blob/de1c7de/sni.go#L156

You could copy that, or move it to a common package on github somewhere.

@bradfitz bradfitz closed this as completed Feb 3, 2018
@cblomart
Copy link
Author

cblomart commented Feb 3, 2018

Thx for the tip!

I little tricky nevertheless, but does the job without too much repetition.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants