Title: Would you accept a provider based on native Win32 APIs? · Issue #450 · sqlcipher/sqlcipher · GitHub
Open Graph Title: Would you accept a provider based on native Win32 APIs? · Issue #450 · sqlcipher/sqlcipher
X Title: Would you accept a provider based on native Win32 APIs? · Issue #450 · sqlcipher/sqlcipher
Description: On Windows, for various reasons it can be painful to build and bundle third-party cryptography libraries like OpenSSL, NSS, or LibTomCrypt. As of Windows 71, it's completely possible to support SQLcipher's needs by using the functionalit...
Open Graph Description: On Windows, for various reasons it can be painful to build and bundle third-party cryptography libraries like OpenSSL, NSS, or LibTomCrypt. As of Windows 71, it's completely possible to support SQL...
X Description: On Windows, for various reasons it can be painful to build and bundle third-party cryptography libraries like OpenSSL, NSS, or LibTomCrypt. As of Windows 71, it's completely possible to support...
Opengraph URL: https://github.com/sqlcipher/sqlcipher/issues/450
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Would you accept a provider based on native Win32 APIs?","articleBody":"On Windows, for various reasons it can be painful to build and bundle third-party cryptography libraries like OpenSSL, NSS, or LibTomCrypt.\r\n\r\nAs of Windows 7[^winver], it's completely possible to support SQLcipher's needs by using the functionality in the [Windows CNG APIs](https://learn.microsoft.com/en-us/windows/win32/seccng/cng-portal) (e.g. `bcrypt.{lib,dll}`), which is shipped and updated with the operating system.\r\n\r\nThat is, if a provider were written based on this, it would allow SQLcipher users on Windows to avoid having to build/link/distribute a third party cryptography library, since they'd just be using the \"native\" crypto API on the platform (similar to how macOS/iOS users can use CommonCrypto). I don't mind contributing this (and have started on it [here](https://github.com/thomcc/sqlcipher/tree/bcrypt), although it is still WIP), and maintaining it for you -- it would simplify my own open source code[^oss].\r\n\r\nUnfortunately, I noticed that you've stopped accepting new providers. This makes sense, but I'm hoping you might make an exception for one based on native win32 APIs provided by the OS. So, is there any chance you'd accept it?\r\n\r\n[^oss]: Concretely: I want this because it will simplify maintenance of [rusqlite](https://github.com/rusqlite/rusqlite), which has a fair amount of complexity from building and statically linking a copy of OpenSSL on Windows, mostly to support a use case where users want SQLcipher and don't want to manage any C dependencies themselves. If SQLcipher had a provider that used native windows APIs, I could migrate these users to that.\r\n\r\n[^winver]: These APIs were added in Windows Vista, but SQLcipher would need at least Windows 7 (e.g. for `BCryptDeriveKeyPBKDF2`).","author":{"url":"https://github.com/thomcc","@type":"Person","name":"thomcc"},"datePublished":"2022-09-29T07:53:48.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/450/sqlcipher/issues/450"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:52d732ab-d2e5-cfe9-05f2-77e19cd6cf19 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 87DA:69CA6:2DE8693:3D9A4AE:69705BCA |
| html-safe-nonce | d29512f9a5a4f0e1641e6e8daa1e31d82f8f42930ce79f81c7a81e4fc20b0d3a |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4N0RBOjY5Q0E2OjJERTg2OTM6M0Q5QTRBRTo2OTcwNUJDQSIsInZpc2l0b3JfaWQiOiI4ODE1NTU1NTU1MzUwNTE3MjIiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 49b81429880f57f39403c1f0555059e256a06fa82c790a2b1d946c32b9ffbc47 |
| hovercard-subject-tag | issue:1390422102 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/sqlcipher/sqlcipher/450/issue_layout |
| twitter:image | https://opengraph.githubassets.com/e7774876e31502db55597a316c3a3b65e254a55ddf82f124427980614021ec63/sqlcipher/sqlcipher/issues/450 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/e7774876e31502db55597a316c3a3b65e254a55ddf82f124427980614021ec63/sqlcipher/sqlcipher/issues/450 |
| og:image:alt | On Windows, for various reasons it can be painful to build and bundle third-party cryptography libraries like OpenSSL, NSS, or LibTomCrypt. As of Windows 71, it's completely possible to support SQL... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | thomcc |
| hostname | github.com |
| expected-hostname | github.com |
| None | 9920a62ba22d06470388e2904804fb7e5ec51c9e35f81784e9191394c74b2bd2 |
| turbo-cache-control | no-preview |
| go-import | github.com/sqlcipher/sqlcipher git https://github.com/sqlcipher/sqlcipher.git |
| octolytics-dimension-user_id | 649049 |
| octolytics-dimension-user_login | sqlcipher |
| octolytics-dimension-repository_id | 38617 |
| octolytics-dimension-repository_nwo | sqlcipher/sqlcipher |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 38617 |
| octolytics-dimension-repository_network_root_nwo | sqlcipher/sqlcipher |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7d6181066430cc06553c8396ca201e194ae33cb9 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width