Tony Arcieri (iqlusion)
4310cc0f9a
Fix build and clippy warnings ( #433 )
2022-11-12 13:15:42 -08:00
Arthur Gautier
87ed7b2338
Adds support for metadata command ( #371 )
...
On firmware 5.4.3, yubikey introduced a metadata command. This returns
the policy attached to as slot as well as the public key of the pair in
the slot.
https://docs.yubico.com/yesdk/users-manual/application-piv/apdu/metadata.html
2022-11-12 11:12:10 -08:00
william light
bbb186f95e
Display inner PC/SC errors ( #420 )
2022-10-31 15:00:21 -07:00
Tony Arcieri (iqlusion)
3463d109b2
Bump der-parser to v8; x509-parser to v0.14 ( #402 )
2022-08-10 15:19:21 -07:00
vdods
498de4c10d
Adding some common traits for certain enum types to support maps. ( #372 )
2022-08-10 14:34:58 -07:00
Tony Arcieri (iqlusion)
9e20ecfe55
RustCrypto crate upgrades; MSRV 1.57 ( #378 )
...
Updates all of the RustCrypto dependencies to the latest versions:
- `des` v0.8
- `elliptic-curve` v0.12
- `hmac` v0.12
- `num-bigint-dig` v0.8
- `pbkdf2` v0.11
- `p256` v0.11
- `p384` v0.10
- `rsa` v0.6
- `sha1` v0.10 (replacing `sha-1`)
- `sha2` v0.10
2022-05-23 20:04:12 -07:00
Ferdinand Linnenberg
83de59983f
Add Display formatter to SlotId ( #353 )
2022-02-11 13:10:53 -08:00
Tony Arcieri (iqlusion)
935fea0868
Bump p256 => v0.10; p384 => v0.9 ( #344 )
2022-01-17 15:08:48 -08:00
Tony Arcieri (iqlusion)
dd4b1c60a4
2021 edition upgrade; MSRV 1.56 ( #343 )
...
Changes the `edition` to 2021 in both the `yubikey` and `yubikey-cli`
crates.
Removes `TryFrom`/`TryInto` imports, now that they're in the prelude.
2022-01-17 14:54:01 -08:00
Shella Stephens
74a50f0f0c
Bump dependencies & fix security audit ( #340 )
...
* Bump dependencies & fix security audit
* allow dead code for issuer field #[allow(dead_code)] in Certificates struct
2022-01-10 08:40:58 -07:00
Tony Arcieri (iqlusion)
edf74871ba
yubikey v0.5.0 ( #327 )
2021-11-21 07:42:39 -08:00
str4d
52107281df
nom 7 ( #322 )
2021-10-19 06:38:38 -07:00
Benno Rice
54ce90d51d
Update dependencies ( #315 )
...
* Update rsa dependency to 0.5
* Update pbkdf dependency to 0.9
* Update x509-parser dependency to 0.11
* Update crypto-bigint subdepdendency to 0.2.6
2021-09-10 10:44:59 -07:00
Tony Arcieri (iqlusion)
ac72797d1f
yubikey v0.4.2 ( #291 )
2021-07-13 06:35:53 -07:00
Tony Arcieri (iqlusion)
fdd3b8730a
Make yubikey::Buffer a pub type ( #290 )
2021-07-13 06:05:24 -07:00
Tony Arcieri (iqlusion)
d51ec0a225
Have YubiKey::block_puk take &mut self as argument ( #289 )
...
This is effectively the same signature; it just uses `self` instead of a
named argument.
2021-07-13 05:55:24 -07:00
Tony Arcieri (iqlusion)
d601c33ba3
yubikey v0.4.1 ( #288 )
2021-07-12 19:37:12 -07:00
Tony Arcieri (iqlusion)
8e52d75992
Rename Ccc to CccId ( #287 )
2021-07-12 19:28:46 -07:00
Tony Arcieri (iqlusion)
42ae5fb974
Rename SettingValue to Setting. ( #286 )
...
Breaking change, but the crate is fresh and there's time to yank and
republish.
2021-07-12 17:36:42 -07:00
Tony Arcieri (iqlusion)
92f770805f
yubikey v0.4.0 ( #283 )
2021-07-12 14:02:59 -07:00
Tony Arcieri (iqlusion)
563f6f9ccc
Extract consts module ( #282 )
...
Extracts miscellaneous constants that were floating around in the
toplevel into their own module.
2021-07-12 12:54:54 -07:00
Tony Arcieri (iqlusion)
5f418bbd1d
Doc improvements and minor cleanups ( #281 )
2021-07-12 11:57:42 -07:00
Tony Arcieri (iqlusion)
47776ebf0b
Fix parsing local DoS ( #279 )
...
Closes #152
Adds additional checks when parsing TLV records to ensure panic-free
operation.
2021-07-12 11:19:26 -07:00
Tony Arcieri (iqlusion)
227518dd1b
Rename readers module to reader; Readers => Context ( #278 )
...
Renames the `readers` module to be singular: `reader`.
Renames the former `readers::Readers` struct to `reader::Context`.
2021-07-12 11:01:12 -07:00
Tony Arcieri (iqlusion)
e6cea2eca6
Rename key module to piv ( #277 )
...
Now that the crate is named `yubikey` rather than `yubikey-piv`, it
makes more sense to call this module out as PIV-related functionality.
2021-07-12 10:42:55 -07:00
Tony Arcieri (iqlusion)
e249e91297
Replace getrandom with rand_core ( #276 )
...
`rand_core::OsRng` provides a facade over `getrandom` which simplifies
error handling.
2021-07-12 09:58:58 -07:00
Tony Arcieri (iqlusion)
1765e11bc0
Flatten API ( #274 )
...
Re-exports types from the toplevel instead of placing them in individual
modules (often which only contain one type).
This makes the API easier for users to navigate, while still retaining
the same module structure internally.
Additionally, this commit uses the `uuid` crate for modeling UUIDs.
2021-07-12 08:40:31 -07:00
Tony Arcieri (iqlusion)
1228d16439
Rename settings::BoolValue => ConfigValue; refactor/cleanup ( #272 )
...
Renames the type used for storing a configuration setting.
Also changes the internal functions to use `Option<ConfigValue>` as the
return value, rather than comparing to a default value, which makes them
slightly more idiomatic.
2021-07-11 14:53:54 -07:00
Tony Arcieri (iqlusion)
de51b0cc46
Add Result alias ( #271 )
...
Adds a `yubikey::Result` alias with `yubikey::Error` as the error type.
Since we only have one `Error` type, this simplifies the return types
where a `Result` is returned.
2021-07-11 09:44:08 -07:00
Tony Arcieri (iqlusion)
1051eaf26d
Rename Ccc::cccid => Ccc::card_id ( #270 )
...
Better reflects the return type
2021-07-11 09:00:58 -07:00
Tony Arcieri (iqlusion)
a1d9c7afc5
Fix clippy::upper_case_acronyms nits; small cleanups ( #269 )
...
Renames the following to match Rust idioms:
- `APDU` => `Apdu`
- `CCC` => `Ccc`
- `CHUID` => `ChuId`
Also removes `Copy` from `mscmap::Container`, which fixes a clippy lint
about its usage of `to_bytes`.
2021-07-11 08:51:25 -07:00
Tony Arcieri (iqlusion)
2c06626c25
Bump elliptic-curve to v0.10; MSRV 1.51+ ( #268 )
...
Also updates the following:
- `p256` v0.9
- `p384` v0.8
2021-07-11 08:14:14 -07:00
Tony Arcieri (iqlusion)
a2a912fc3c
Rename to yubikey.rs ( #267 )
...
We now have publishing rights to the `yubikey` crate.
This commit renames the project to yubikey.rs
Co-authored-by: Tony Arcieri <bascule@gmail.com >
2021-07-10 17:02:59 -07:00
Tony Arcieri (iqlusion)
865353f4da
RustCrypto dependency updates; MSRV 1.47+ ( #251 )
...
Updates the following dependencies:
- `des` v0.7
- `elliptic-curve` v0.9
- `hmac` v0.11
- `pbkdf2` v0.8
- `p256` v0.8
- `p384` v0.7
2021-04-30 07:09:24 -07:00
Shella Stephens
d33e80faea
Update rsa to v0.4.0 & fix cargo audit ( #246 )
...
* Bump rsa to v0.4.0
2021-03-29 09:12:33 -07:00
Tony Arcieri (iqlusion)
43dfc06875
yubikey-piv v0.3.0 ( #240 )
2021-03-22 09:45:19 -07:00
str4d
18e3636161
Replace MgmKey::set with MgmKey::{set_default, set_manual} ( #224 )
...
* Add MgmKey::set_default method
This wipes any metadata related to derived and PIN-protected management
keys, returning the management key to its default state.
* Transaction::set_mgm_key: Take touch requirement as bool
The Option<u8> was inherited from the original C code's usage of an
unsigned char. We don't need that flexibility, because only two cases
are supported.
* Replace MgmKey::set with MgmKey::set_manual
MgmKey::set_default is now implemented as a wrapper around
MgmKey::set_manual, as they both require clearing metadata related to
derived and PIN-protected management keys.
2021-02-01 09:27:04 -08:00
str4d
9d1da84233
Create typed structs for PIN-protected and admin metadata ( #223 )
...
MgmKey::set_protected and YubiKey::set_pin_last_changed both contained
bugs resulting from the conversion of C pointer logic (incorrect buffer
management). The new Metadata struct holds its own buffer, avoiding the
problem.
Also adds a protected management key integration test.
2021-01-31 09:54:13 -08:00
Tony Arcieri (iqlusion)
8b896ab4de
Rename default git branch from develop to main ( #217 )
2021-01-30 07:11:18 -08:00
str4d
24b035008c
Improve self-signed certificates ( #207 )
...
Adds support for:
- A hierarchical SubjectName field.
- Certificate extensions.
2021-01-11 07:49:15 -08:00
Shella Stephens
08185c5ec9
Bump der-parser, nom, x509-parser ( #194 )
...
* Bump der-parser from 4.1.0 to 5.0.0
Bumps [der-parser](https://github.com/rusticata/der-parser ) from 4.1.0 to 5.0.0.
- [Release notes](https://github.com/rusticata/der-parser/releases )
- [Changelog](https://github.com/rusticata/der-parser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rusticata/der-parser/compare/der-parser-4.1.0...der-parser-5.0.0 )
Signed-off-by: dependabot[bot] <support@github.com >
* Bump der-parser, nom, x509-parser
* clippy
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 07:20:58 -08:00
Tony Arcieri (iqlusion)
fc62fc286d
yubikey-piv v0.1.0 ( #180 )
2020-10-19 08:26:05 -07:00
Tony Arcieri
17ae87f741
Bump RustCrypto dependencies
...
Updates all RustCrypto crates (`crypto-mac`, `des`, `hmac`, `pbkdf2`)
to the latest versions.
2020-10-18 10:12:09 -07:00
Tony Arcieri
cbe60413cb
Bump p256 to v0.5; p384 to v0.4; MSRV 1.44+
2020-10-17 13:54:40 -07:00
Shella Stephens
860c163eb9
Update rsa to v0.3 & other dependencies ( #142 )
...
* Update rsa to v0.3 & other dependencies
2020-06-15 16:40:33 -07:00
BlackHoleFox
556b9cb671
Remove dependency on regular num-bigint
2020-06-09 18:42:56 -05:00
BlackHoleFox
6e3560c10f
Switch to buffer alias
2020-06-08 22:09:57 -05:00
BlackHoleFox
0f907ebd5c
Implement RSA key precomputation
2020-06-08 21:48:25 -05:00
BlackHoleFox
acc96e988f
Refactor key import function
2020-06-01 23:07:18 -05:00
Tony Arcieri
5e52f93f4a
Remove unnecessary parens
2020-05-04 08:45:40 -07:00