{"id":13632621,"url":"https://github.com/RustCrypto/formats","last_synced_at":"2025-04-18T05:32:36.360Z","repository":{"id":37268185,"uuid":"406051759","full_name":"RustCrypto/formats","owner":"RustCrypto","description":"Cryptography-related format encoders/decoders: DER, PEM, PKCS, PKIX","archived":false,"fork":false,"pushed_at":"2025-04-08T13:03:10.000Z","size":8809,"stargazers_count":266,"open_issues_count":63,"forks_count":142,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-14T12:21:21.438Z","etag":null,"topics":[],"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/RustCrypto.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-13T16:40:25.000Z","updated_at":"2025-04-08T13:03:12.000Z","dependencies_parsed_at":"2023-12-19T17:25:30.817Z","dependency_job_id":"fd8f1128-396f-458e-820f-b5aa4310ffb9","html_url":"https://github.com/RustCrypto/formats","commit_stats":{"total_commits":1263,"total_committers":79,"mean_commits":"15.987341772151899","dds":"0.43309580364212197","last_synced_commit":"ba13a25c01444b94bc5030da88951047d2eced1a"},"previous_names":[],"tags_count":251,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustCrypto%2Fformats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustCrypto%2Fformats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustCrypto%2Fformats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustCrypto%2Fformats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RustCrypto","download_url":"https://codeload.github.com/RustCrypto/formats/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249436877,"owners_count":21271958,"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":[],"created_at":"2024-08-01T22:03:09.032Z","updated_at":"2025-04-18T05:32:36.329Z","avatar_url":"https://github.com/RustCrypto.png","language":"Rust","funding_links":[],"categories":["Rust","Frameworks and Libs"],"sub_categories":["Rust"],"readme":"# [RustCrypto]: Formats [![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps-link]\n\nCryptography-related format encoders/decoders (e.g. PKCS, PKIX)\n\n## Crates\n\n| Name          | crates.io                                                                                             | Docs                                                                                   | Description                                                                                                                                |\n|---------------|-------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|\n| `base16ct`    | [![crates.io](https://img.shields.io/crates/v/base16ct.svg)](https://crates.io/crates/base16ct)       | [![Documentation](https://docs.rs/base16ct/badge.svg)](https://docs.rs/base16ct)       | Constant-time hexadecimal encoder/decoder                                                                                                  |\n| `base32ct`    | [![crates.io](https://img.shields.io/crates/v/base32ct.svg)](https://crates.io/crates/base32ct)       | [![Documentation](https://docs.rs/base32ct/badge.svg)](https://docs.rs/base32ct)       | Constant-time Base32 encoder/decoder                                                                                                       |\n| `base64ct`    | [![crates.io](https://img.shields.io/crates/v/base64ct.svg)](https://crates.io/crates/base64ct)       | [![Documentation](https://docs.rs/base64ct/badge.svg)](https://docs.rs/base64ct)       | Constant-time Base64 encoder/decoder with support for several variants                                                                     |\n| `cms`         | [![crates.io](https://img.shields.io/crates/v/cms.svg)](https://crates.io/crates/cms)                 | [![Documentation](https://docs.rs/cms/badge.svg)](https://docs.rs/cms)                 | Implementation of the Cryptographic Message Syntax (CMS) as described in [RFC 5652], [RFC 5911], and in [RFC 3274].                        |\n| `const‑oid`   | [![crates.io](https://img.shields.io/crates/v/const-oid.svg)](https://crates.io/crates/const-oid)     | [![Documentation](https://docs.rs/const-oid/badge.svg)](https://docs.rs/const-oid)     | Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard as defined in [ITU X.660]                                    |\n| `der`         | [![crates.io](https://img.shields.io/crates/v/der.svg)](https://crates.io/crates/der)                 | [![Documentation](https://docs.rs/der/badge.svg)](https://docs.rs/der)                 | Decoder and encoder of the Distinguished Encoding Rules (DER) for Abstract Syntax Notation One (ASN.1) as described in [ITU X.690]         |\n| `pem‑rfc7468` | [![crates.io](https://img.shields.io/crates/v/pem-rfc7468.svg)](https://crates.io/crates/pem-rfc7468) | [![Documentation](https://docs.rs/pem-rfc7468/badge.svg)](https://docs.rs/pem-rfc7468) | Strict PEM encoding for PKIX/PKCS/CMS objects                                                                                              |\n| `pkcs1`       | [![crates.io](https://img.shields.io/crates/v/pkcs1.svg)](https://crates.io/crates/pkcs1)             | [![Documentation](https://docs.rs/pkcs1/badge.svg)](https://docs.rs/pkcs1)             | Implementation of PKCS#1: RSA Cryptography Specifications Version 2.2 ([RFC 8017])                                                         |\n| `pkcs5`       | [![crates.io](https://img.shields.io/crates/v/pkcs5.svg)](https://crates.io/crates/pkcs5)             | [![Documentation](https://docs.rs/pkcs5/badge.svg)](https://docs.rs/pkcs5)             | Implementation of PKCS#5: Password-Based Cryptography Specification Version 2.1 ([RFC 8018])                                               |\n| `pkcs8`       | [![crates.io](https://img.shields.io/crates/v/pkcs8.svg)](https://crates.io/crates/pkcs8)             | [![Documentation](https://docs.rs/pkcs8/badge.svg)](https://docs.rs/pkcs8)             | Implementation of PKCS#8(v2): Private-Key Information Syntax Specification ([RFC 5208]) and asymmetric key packages ([RFC 5958])           |\n| `sec1`        | [![crates.io](https://img.shields.io/crates/v/sec1.svg)](https://crates.io/crates/sec1)               | [![Documentation](https://docs.rs/sec1/badge.svg)](https://docs.rs/sec1)               | [SEC1: Elliptic Curve Cryptography] encoding formats                                                                                       |\n| `spki`        | [![crates.io](https://img.shields.io/crates/v/spki.svg)](https://crates.io/crates/spki)               | [![Documentation](https://docs.rs/spki/badge.svg)](https://docs.rs/spki)               | X.509 Subject Public Key Info ([RFC 5280 Section 4.1]) describing public keys as well as their associated AlgorithmIdentifiers (i.e. OIDs) |\n| `tai64`       | [![crates.io](https://img.shields.io/crates/v/tai64.svg)](https://crates.io/crates/tai64)             | [![Documentation](https://docs.rs/tai64/badge.svg)](https://docs.rs/tai64)             | TAI64(N) Timestamps                                                                                                                        |\n| `tls_codec`   | [![crates.io](https://img.shields.io/crates/v/tls_codec.svg)](https://crates.io/crates/tls_codec)     | [![Documentation](https://docs.rs/tls_codec/badge.svg)](https://docs.rs/tls_codec)     | TLS codec as defined in [RFC 8446 Section 3] as well as some extensions required by MLS.                                                   |\n| `x509-cert`   | [![crates.io](https://img.shields.io/crates/v/x509-cert.svg)](https://crates.io/crates/x509-cert)     | [![Documentation](https://docs.rs/x509-cert/badge.svg)](https://docs.rs/x509-cert)     | X.509 Public Key Infrastructure Certificate format as described in [RFC 5280]                                                              |\n\n## License\n\nAll crates licensed under either of\n\n- [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)\n- [MIT license](http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n\n[//]: # \"badges\"\n[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg\n[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/300570-formats\n[deps-image]: https://deps.rs/repo/github/RustCrypto/formats/status.svg\n[deps-link]: https://deps.rs/repo/github/RustCrypto/formats\n\n[//]: # \"links\"\n[rustcrypto]: https://github.com/rustcrypto\n[itu x.660]: https://www.itu.int/rec/T-REC-X.660\n[itu x.690]: https://www.itu.int/rec/T-REC-X.690\n[rfc 2986]: https://datatracker.ietf.org/doc/html/rfc2986\n[rfc 3274]: https://datatracker.ietf.org/doc/html/rfc3274\n[rfc 4251]: https://datatracker.ietf.org/doc/html/rfc4251\n[rfc 4253]: https://datatracker.ietf.org/doc/html/rfc4253\n[rfc 5208]: https://datatracker.ietf.org/doc/html/rfc5208\n[rfc 5280 section 4.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1\n[rfc 5280]: https://datatracker.ietf.org/doc/html/rfc5280\n[rfc 5652]: https://datatracker.ietf.org/doc/html/rfc5652\n[rfc 5911]: https://datatracker.ietf.org/doc/html/rfc5911\n[rfc 5958]: https://datatracker.ietf.org/doc/html/rfc5958\n[rfc 8017]: https://datatracker.ietf.org/doc/html/rfc8017\n[rfc 8018]: https://datatracker.ietf.org/doc/html/rfc8018\n[rfc 8933]: https://datatracker.ietf.org/doc/html/rfc8933\n[rfc 8446 section 3]: https://datatracker.ietf.org/doc/html/rfc8446#section-3\n[sec1: elliptic curve cryptography]: https://www.secg.org/sec1-v2.pdf\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRustCrypto%2Fformats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRustCrypto%2Fformats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRustCrypto%2Fformats/lists"}