Heiko Schaefer
9739074b63
Minor error handling/messaging cleanups.
2021-12-01 22:23:22 +01:00
Heiko Schaefer
576110ecce
Update comments.
2021-12-01 22:21:28 +01:00
Heiko Schaefer
ecd862e23f
Remove "get_" prefix from getter function names (to better conform with Rust API Guidelines https://rust-lang.github.io/api-guidelines ).
2021-12-01 19:11:22 +01:00
Heiko Schaefer
9d87cddb60
Minor tweaks in Display impl for Algo.
2021-12-01 00:06:39 +01:00
Heiko Schaefer
c4fcafc25b
Slightly change format of status output for keys.
2021-11-30 23:59:17 +01:00
Heiko Schaefer
2709b4ad39
Implement pinpad feature detection and pinpad support for verify/modify (of pw1 and pw3) in pcsc backend.
...
Extend CardCaps to contain pw1_max_len and pw3_max_len (and initialize these values from ARD).
Add pinpad_verify(), pinpad_modify(), feature_verify()/feature_modify() to CardClient API.
Expose in card_app (and openpgp-card-sequoia card API).
Adjust opgpcard, opgpcard-pin to ue pinpad reader when available.
2021-11-30 22:51:18 +01:00
Heiko Schaefer
a7fb5b2b2c
Don't fail while enumerating readers, when a reader returns an error (just log).
...
This is useful with hubs that can power down individual ports: when a port is powered down, the reader is still visible to pcsc, but connecting to it returns an error.
2021-11-29 21:26:30 +01:00
Heiko Schaefer
9e9cddc225
Implement setting of 'identity' for NitroKey Start.
2021-11-29 18:33:23 +01:00
Heiko Schaefer
9de79477b9
Implement get_firmware_version (probably YubiKey specific)
2021-11-23 20:38:46 +01:00
Heiko Schaefer
9930e7d420
Clarified: the spec says the card will format accordingly.
2021-11-22 19:24:09 +01:00
Heiko Schaefer
f5eaa591cb
Add comment to clarify unwrap
2021-11-22 19:11:22 +01:00
Heiko Schaefer
a439397c62
Clippy fixes.
2021-11-22 16:33:15 +01:00
Heiko Schaefer
7413b5c062
Don't check cert revocation status when decrypting.
2021-11-22 16:33:15 +01:00
Heiko Schaefer
af673f537c
Adjust error handling in CardSigner and CardDecryptor (for better error messages in tools, such as opgpcard).
...
Refactor sq_utils, rename some fn for clarity.
2021-11-21 15:21:43 +01:00
Heiko Schaefer
a24db398b6
Print PublicKeyMaterial for "status --verbose".
2021-11-16 19:19:29 +01:00
Heiko Schaefer
e695e8171a
Implement 'Display' for PublicKeyMaterial
2021-11-16 19:18:34 +01:00
Heiko Schaefer
874c28b7ff
Add get_pub_key()
2021-11-16 19:18:10 +01:00
Heiko Schaefer
13c8769ea3
Case insensitive comparison of ident.
2021-11-16 17:48:14 +01:00
Heiko Schaefer
0089c211ae
In open_by_ident(), call to_ascii_uppercase() on user-provided ident (for case insensitive comparison).
2021-11-16 17:46:14 +01:00
Heiko Schaefer
4c264a59b4
Minor restructuring.
2021-11-12 19:07:15 +01:00
Heiko Schaefer
994e10c2d7
Minor restructuring, add some comments.
2021-11-12 19:02:35 +01:00
Heiko Schaefer
c84561d5e8
Clarify SCD command size limitation comment and naming.
2021-11-12 18:53:13 +01:00
Heiko Schaefer
90ae9398ed
Adjust the backend API and interaction with openpgp-card some more.
2021-11-12 18:47:56 +01:00
Heiko Schaefer
7a71f88eb6
Rename Open::open() to Open::new()
2021-11-11 16:40:08 +01:00
Heiko Schaefer
d10cbe8eff
clean up lints
2021-11-11 16:40:08 +01:00
Heiko Schaefer
d55985807c
Change the API for interactions between openpgp-card and backends.
...
The goal of this change is a cleaner structure, and in particular to make it the default for client-code to obtain a CardApp with pre-initialized "capabilities" (that is, init_caps() gets called implicitely).
2021-11-11 16:40:08 +01:00
Heiko Schaefer
288a2a8325
Add comments/assert for PSO: DECIPHER
2021-11-09 16:43:59 +01:00
Heiko Schaefer
39e7eaa9cc
Make pso_compute_digital_signature() and internal_authenticate() public.
2021-11-08 11:39:14 +01:00
Heiko Schaefer
7bb2fcb497
Wrap RSA-hashes in digestinfo, for internal_authenticate() in the new fn authenticate_for_hash().
2021-11-07 20:32:26 +01:00
Heiko Schaefer
1220b39498
List the non-library crates under the architecture diagram.
2021-11-07 00:47:04 +01:00
Heiko Schaefer
22bbf77707
Add examples for passing PINs via file-descriptors.
...
Change the example card ident so that the serial number doesn't look like the default admin PIN.
2021-11-06 12:36:59 +01:00
Heiko Schaefer
9955c9e1be
Normalize PIN-Parameters in opgpcard.
...
"-P" is now always the admin pin file, while "-p" is the user pin file.
2021-11-06 11:59:58 +01:00
Heiko Schaefer
8d31ee80db
Document that $HOME/.cargo/bin needs to be added to PATH
2021-11-05 23:40:07 +01:00
Heiko Schaefer
2085fdc66d
Release tools
2021-11-05 23:14:48 +01:00
Heiko Schaefer
87168ea0de
Cleanup imports
2021-11-05 23:14:36 +01:00
Heiko Schaefer
1a37b437e2
Releases
2021-11-05 23:07:48 +01:00
Heiko Schaefer
f82cc6ae2a
Add documentation on installing.
2021-11-05 22:57:10 +01:00
Heiko Schaefer
cda224d738
Add more logic to key generation
2021-11-05 22:56:23 +01:00
Heiko Schaefer
79cfcb09c2
In generate_key_simple(), the algo parameter is now an Option<AlgoSimple>.
...
This allows uploading keys without explicitly setting the algorithm, thus leaving the card's algo setting unchanged.
2021-11-05 13:34:14 +01:00
Heiko Schaefer
02401d12f4
Initial parts of key generation.
2021-11-05 13:34:14 +01:00
Heiko Schaefer
8674b0e65c
Refactor "Open" to use a borrowed CardApp (instead of owning the CardApp).
2021-11-05 13:34:14 +01:00
Heiko Schaefer
8dd83b6c55
Extend comment
2021-11-05 13:34:14 +01:00
Heiko Schaefer
3d821e2c5f
Add internal_authenticate() to the public API.
2021-11-05 13:33:40 +01:00
Heiko Schaefer
a88620a96d
Add some more documentation to CardApp::signature_for_hash.
2021-11-04 18:06:18 +01:00
Heiko Schaefer
52a146fd56
implement internal_authenticate
2021-11-04 18:05:45 +01:00
Heiko Schaefer
0aaef211a0
Add documentation about testing to the top-level README.md
2021-11-03 13:50:06 +01:00
Heiko Schaefer
edc89078ce
Make the PublicKey type pub.
2021-11-03 02:26:07 +01:00
Heiko Schaefer
308e8bfabd
enable env_logger
2021-11-03 02:24:59 +01:00
Heiko Schaefer
19ca7d9308
In factory_reset(), StatusBytes::PasswordNotChecked is also a legal response to "verify" calls to a card (with a bad password).
2021-11-02 20:59:18 +01:00
Heiko Schaefer
5eea5c861d
When card returns OkBytesAvailable(), use the returned number of bytes from sw2 when asking for the next response.
...
This approach solved problems with "GET RESULT" with a "Feitian Java Card D11CR" running the ykneo applet.
2021-11-01 21:58:08 +01:00