{"id":28562647,"url":"https://github.com/rustls/rustls-cng","last_synced_at":"2025-07-16T07:47:41.355Z","repository":{"id":47463060,"uuid":"500601893","full_name":"rustls/rustls-cng","owner":"rustls","description":"Windows CNG bridge for rustls","archived":false,"fork":false,"pushed_at":"2025-07-08T12:01:22.000Z","size":3187,"stargazers_count":7,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"dev","last_synced_at":"2025-07-15T05:44:36.108Z","etag":null,"topics":["cng","rust","rustls","tls","windows"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rustls.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-06T21:41:59.000Z","updated_at":"2025-07-08T12:00:59.000Z","dependencies_parsed_at":"2024-02-20T10:26:41.064Z","dependency_job_id":"3bcefbfb-39f9-4683-8e8a-7a0c0c46e730","html_url":"https://github.com/rustls/rustls-cng","commit_stats":null,"previous_names":["rustls/rustls-cng","ancwrd1/rustls-cng"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/rustls/rustls-cng","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustls%2Frustls-cng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustls%2Frustls-cng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustls%2Frustls-cng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustls%2Frustls-cng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rustls","download_url":"https://codeload.github.com/rustls/rustls-cng/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustls%2Frustls-cng/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265429246,"owners_count":23763715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cng","rust","rustls","tls","windows"],"created_at":"2025-06-10T12:10:46.139Z","updated_at":"2025-07-16T07:47:41.311Z","avatar_url":"https://github.com/rustls.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Windows CNG bridge for rustls\n\n[![github actions](https://github.com/ancwrd1/rustls-cng/workflows/CI/badge.svg)](https://github.com/rustls/rustls-cng/actions)\n[![crates](https://img.shields.io/crates/v/rustls-cng.svg)](https://crates.io/crates/rustls-cng)\n[![license](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![docs.rs](https://docs.rs/rustls-cng/badge.svg)](https://docs.rs/rustls-cng)\n\nThis crate allows you to use the Windows CNG private keys together with [rustls](https://docs.rs/rustls/latest/rustls)\n for both the client and server sides of the TLS channel.\n\nRationale: In many situations, it is required to use non-exportable private certificate chains\n from the Windows certificate store instead of the external PKCS8 file.\n `rustls-cng` can use such chains in the `rustls` context.\n\nSupported key/certificate types: **RSA**, **ECDSA/ECDH**. Supported elliptic curves: secp256r1 (prime256v1), secp384r1.\n\n[Documentation](https://docs.rs/rustls-cng).\n\n## Usage\n\nThe central struct to use in `rustls-cng` is `CngSigningKey`, which can be constructed\n from the low-level `NCryptKey` handle. The instance of `CngSigningKey` can then be\n used in `rustls` in the custom `ResolvesServerCert` or `ResolvesClientCert` implementation.\n\nSee the `examples` directory for usage examples.\n\n## License\n\nLicensed under the MIT or Apache licenses ([LICENSE-MIT](https://opensource.org/licenses/MIT) or [LICENSE-APACHE](https://opensource.org/licenses/Apache-2.0))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustls%2Frustls-cng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frustls%2Frustls-cng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustls%2Frustls-cng/lists"}