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
Heiko Schaefer
921e0d22d9
Add some more user facing output.
...
(Including for the case when a card doesn't allow a user password change when no key material exists on the card, which is a particular policy of Gnuk cards)
2021-10-30 01:25:08 +02:00
Heiko Schaefer
bc08ca68ed
Releases
2021-10-29 22:51:23 +02:00
Heiko Schaefer
753bd8b71b
Move example keys/data to openpgp-card-sequoia
2021-10-29 22:38:01 +02:00
Heiko Schaefer
85075c4cda
Rename openpgp-card-apps into openpgp-card-examples
2021-10-29 22:38:01 +02:00
Heiko Schaefer
59d77f584d
Add openpgp-card-tools crate
2021-10-29 22:38:01 +02:00
Heiko Schaefer
aa7528ec9a
Add functionality for cli tools.
2021-10-28 00:05:41 +02:00
Heiko Schaefer
1d4f058858
add comment about Gnuk pin change precondition
2021-10-27 12:10:18 +02:00
Heiko Schaefer
3407cd3a39
Add reset_user_pin() fn for Open and for Admin, as well as set_resetting_code() to Admin.
2021-10-26 21:57:32 +02:00
Heiko Schaefer
2c0c19502f
Add change_user_pin() and change_admin_pin()
2021-10-26 14:46:57 +02:00
Heiko Schaefer
77c7a90daf
sq_util::get_subkey() now returns an Option.
...
Not finding any subkey is not an error.
2021-10-23 20:01:10 +02:00
Heiko Schaefer
5d8b547158
Build and run card-functionality tests against two JavaCard images (SmartPGP and YubiKey NEO)
2021-10-19 22:57:57 +02:00
Heiko Schaefer
dfca788e2f
Yet more documentation edits.
2021-10-13 16:44:37 +02:00
Heiko Schaefer
f2b65e7880
Some more edits for documentation.
2021-10-11 12:11:56 +02:00
Heiko Schaefer
63576de817
Add documentation, in particular for running the tests against emulated Gnuk.
2021-10-11 11:53:41 +02:00
Heiko Schaefer
73593e66e7
Add "list-cards" tool.
2021-10-08 00:51:01 +02:00
Heiko Schaefer
a4c04de09c
Add notes about using Protected memory for private key material.
2021-10-05 17:38:08 +02:00
Heiko Schaefer
ddf62dbfe2
Use the MPI::value_padded() method for left-padding.
2021-10-05 17:11:52 +02:00
Heiko
40c52c7f3a
Merge branch 'add-more-examples' into 'main'
...
Add decrypt and detach-sign examples
See merge request hkos/openpgp-card!1
2021-10-01 15:35:33 +00:00
Wiktor Kwapisiewicz
1ec7fc97dc
Add decrypt and detach-sign examples
...
This should mirror the usage of `gpg --decrypt` and `gpg --detach
--sign`.
2021-09-27 13:28:34 +02:00
Heiko Schaefer
1ce74ab8c6
Pad private key scalars of ECC keys.
...
MPIs can have leading zeros stripped, in OpenPGP, however, e.g. the floss34 card requires the NIST scalar in its non-stripped form.
2021-09-23 20:54:33 +02:00
Heiko Schaefer
c73a4fa2f8
Adjust card name to the shop's naming.
2021-09-22 16:42:43 +02:00
Heiko Schaefer
6d24054e1e
Normalize capitalization to "OpenPGP card"
2021-09-22 16:41:53 +02:00
Heiko Schaefer
6de3901c12
Add a NIST384 key for testing.
2021-09-22 13:22:45 +02:00
Heiko Schaefer
43e57ffc7a
Make password exploration-test more robust.
2021-09-21 19:54:43 +02:00
Heiko Schaefer
10ddb8918d
Add an RSA1k key for testing (with older cards).
2021-09-21 17:18:43 +02:00
Heiko Schaefer
cf8fb05210
Don't set a policy implicitly.
2021-09-21 16:59:01 +02:00
Heiko Schaefer
dbbe4ed4c1
Fix comparison of card ident (the test config shouldn't be case sensitive)
2021-09-21 16:50:34 +02:00
Heiko Schaefer
5417fde8ca
Implement support for alternate ECC import format (which includes public key data)
2021-09-21 16:50:34 +02:00
Heiko Schaefer
200d7e60d1
Algo attributes for key generation should be checked if we can't set them.
2021-09-21 16:50:34 +02:00
Heiko Schaefer
c0088c4eae
Hack for SmartPGP applet (use the last of the suitable algorithm variants from the Algorithm Information list).
2021-09-21 11:22:56 +02:00
Heiko Schaefer
56e3845ea4
Explicitly set policy when calling util::upload_subkeys()
2021-09-21 11:22:56 +02:00
Heiko Schaefer
773117965c
Add RSA1k/17 and RSA1k/32 to AlgoSimple
2021-09-21 11:22:56 +02:00
Heiko Schaefer
332360cbbb
Implement additional import formats for RSA key import.
2021-09-21 11:22:56 +02:00
Heiko Schaefer
256690d97c
Print RSA import format in Display for Algo
2021-09-19 19:13:51 +02:00
Heiko Schaefer
0bf59c7e51
In key generation: don't set algo attributes if the card doesn't support that feature.
2021-09-17 13:56:28 +02:00
Heiko Schaefer
a39f25d8a3
Handle SW_EXACT_LENGTH (0x6c??) in send_command()
2021-09-17 13:36:20 +02:00
Heiko Schaefer
60c67d3ebe
Print status bytes as hex, for UnknownStatus
2021-09-16 17:17:19 +02:00
Heiko Schaefer
5e92f4ee25
Adjust to changed extended_capabilities types.
2021-09-16 02:38:25 +02:00
Heiko Schaefer
e1af08646a
Add comment
2021-09-16 02:07:05 +02:00
Heiko Schaefer
39df280d70
Fix comment type
2021-09-16 02:05:28 +02:00
Heiko Schaefer
cdb72e271c
Fix existing test, add test for v2 card
2021-09-16 01:52:34 +02:00
Heiko Schaefer
3cc9a09290
Implement discrete handling of v2 and v3 ExtendedCapabilities.
2021-09-15 17:39:47 +02:00
Heiko Schaefer
f2e5fea0fc
extended capabilities: restructure, to prepare for different versions of this DO
2021-09-14 02:00:54 +02:00
Heiko Schaefer
245740febc
More precise debug output.
2021-09-13 19:45:17 +02:00
Heiko Schaefer
d5651e96bb
Reorganize key uploading API
2021-09-11 22:58:02 +02:00
Heiko Schaefer
1b9d860adf
Minor edits on doc comments.
2021-09-11 16:54:34 +02:00
Heiko Schaefer
0d249a47fd
sq_util::get_subkey() is now the central helper fn for picking a (sub)key from a Cert.
2021-09-11 16:27:31 +02:00