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

Support for schannel.h and wincrypt.h functions #196

Open
blucoat opened this issue Feb 24, 2022 · 1 comment
Open

Support for schannel.h and wincrypt.h functions #196

blucoat opened this issue Feb 24, 2022 · 1 comment

Comments

@blucoat
Copy link

blucoat commented Feb 24, 2022

Is anyone currently working on adding support for the win32 functions needed to establish a TLS connection? Is this the appropriate place to add them, or would they belong in a separate package?

The need here is that I would like to write a library analogous to Rust's native-tls crate, which uses the system-native TLS implementation on as many platforms as possible. This is preferred in some cases over bundling a TLS implementation with the application, because it can receive security updates and enhancements without intervention from the application's maintainer. Moreover, it allows the application to respect system-wide configuration, like the set of trusted root CA's.

This is a feature request, but if nobody else is working on it or wants to work on it, I can do it When I Have Spare Time (TM).

@Mistuke
Copy link
Contributor

Mistuke commented Feb 28, 2022

Hi!

Is anyone currently working on adding support for the win32 functions needed to establish a TLS connection? Is this the appropriate place to add them, or would they belong in a separate package?

I'm not aware, though there are a number of TLS packages on hackage. I wouldn't object to having the API bindings here, but usually specialized packages like what you're proposing are better off having the bindings inside the package just lessen the maintenance overhead that comes with depending on third party bindings.

This is a feature request, but if nobody else is working on it or wants to work on it, I can do it When I Have Spare Time (TM).

I'm afraid that at the moment I don't have the spare cycles to add all the needed API calls and structures. The advantage of doing this in your own package is that you can do the heavy lifting in C and just expose simplified APIs to use on the Haskell side. I think that's probably the best way to do so.

But again, I won't object to having the bindings in Win32.

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