4 ms·
It's way too hard to get anything that requires OpenSSL to work, I decided not to write Rust code on my windows PC because of that. I remember the process of ju
by rukenshia 10y ago
It's way too hard to get anything that requires OpenSSL to work, I decided not to write Rust code on my windows PC because of that. I remember the process of just getting it to work as really painful and time consuming.
Other than that I really enjoy writing rust code on my Linux machine.
- wink 10y ago+1 to the openssl problems. For me it was only stopping my investigations into hyper and other web stuff (on windows), just writing CLI and GUI apps works fine on Windows. (I use VS Code and a git bash)
- cube2222 10y agoYou can also just use it on Bash on Ubuntu on Windows.
- Longhanks 10y agoThen you can't deploy to end users on Windows.
- izacus 10y agoConsidering the fact that Windows has it's own SSL API and most apps don't use OpenSSL - any reason you're not using the native stack?
- aidanhs 10y agoFwiw, native-tls [0] is intended to solve this problem for the set of uses involving TLS (e.g. hyper [1], reqwest) by using the defacto standard on the platform you're on. This means no openssl is necessary on Windows. Longer term, I would like to see some way for a crate consumer to optionally replace openssl with ring [2] where possible. But that's a harder problem, figuring out a common interface, specifying two crates satisfy that interface and are swappable by cargo...classic package management problems really. [0] https://github.com/sfackler/rust-native-tls https://github.com/sfackler/rust-native-tls [1] https://docs.rs/hyper-native-tls/0.2.2/hyper_native_tls/ https://docs.rs/hyper-native-tls/0.2.2/hyper_native_tls/ [2] https://github.com/briansmith/ring https://github.com/briansmith/ring
- valarauca1 10y agoRustls[1] is a work in progress to build a TLSv1.3 Server in 100% safe Rust. Uses Ring for crypto. It could use more contributors/eyes/auditors. It works out of the box on Windows currently. [1] https://github.com/ctz/rustls https://github.com/ctz/rustls
- notheguyouthink 10y agoOh god yes. This is one of the reasons i switched back to Go. I wanted simple cross compiling, it was really important to me, and OpenSSL is just too commonly needed to run into problems for me.
- Etzos 10y agoThis confuses me a bit, but I honestly have not spent a ton of time with Go, so perhaps you can explain. How exactly do you get simple cross compiling with OpenSSL using Go? Once you use an external library don't you lose all of Go's cross compiling simplicity?
- steveklabnik 10y agoIn my understanding, in the usual case, you don't use OpenSSL. You use https://golang.org/pkg/crypto/tls/ https://golang.org/pkg/crypto/tls/.
- notheguyouthink 10y agoYup, as Steve mentions, it's builtin. So in short, it's never even on my radar. I really like Rust, but compiling OpenSSL was a huge headache for me. One of those growing pains i felt like.
- steveklabnik 10y agoFWIW I never bothered to compile OpenSSL; I just installed it and link to it. Can't wait until we can just use ring everywhere, though.
- Psilidae 10y agoFor what it's worth, to anyone who may encounter problems with OpenSSL, I long ago tried my best to write up clear instructions for someone who was having trouble: https://github.com/Thinkofname/steven/pull/60#issuecomment-232510282 https://github.com/Thinkofname/steven/pull/60#issuecomment-2... It's a bit out of date, but I think it should help navigate the setup.