Commit Graph
100 Commits
Author SHA1 Message Date
Vincent Breitmoser d4852ec19d use named curves other than NITS for ECDH (fixes #2261) 2018-02-13 14:14:49 +01:00
Vincent Breitmoser 70590ad421 fix ViewKeyActivity layout issue 2018-02-12 18:11:53 +01:00
Vincent Breitmoser 84d652be8b refactor ViewKeyActivity to remove field m* prefix 2018-02-12 17:51:07 +01:00
Vincent Breitmoser b3a5b7e04a fix incorrect length in copyOfRange 2018-02-08 10:21:53 +01:00
Vincent Breitmoser 5d40822ea5 make sure CommandApdu consistently copies input data 2018-02-08 10:21:53 +01:00
Vincent Breitmoser 34f65d4f53 Check for right flag for establishing Scp11bSM 2018-01-30 11:21:43 +01:00
Vincent Breitmoser 1c8cc99c68 Don't send NE value for decryption
This is slightly more compliant to spec. OpenPGP-Applet implementations
I've looked at don't seem to care, but for some reason this still
improves compatibility. See
https://github.com/open-keychain/open-keychain/issues/2049
2018-01-24 12:02:11 +01:00
Vincent Breitmoser bccc20ea32 Reduce max apdu length, for compatibility 2018-01-24 12:02:11 +01:00
Vincent Breitmoser e57c111010 extract getRsaOperationPayload method 2018-01-24 12:02:11 +01:00
Vincent Breitmoser dcbf57f688 update robolectric to 3.6.1 2018-01-24 03:01:04 +01:00
Vincent Breitmoser da40c6bc52 update readme for sdk 27 2018-01-24 01:32:15 +01:00
Vincent Breitmoser a577042591 update .travis.yml 2018-01-24 01:32:15 +01:00
Vincent Breitmoser 5c2e4f889f Fix a bunch of trivial code warnings 2018-01-24 01:32:15 +01:00
Vincent Breitmoser 583b427336 Upgrade to Java 8 2018-01-24 01:32:14 +01:00
Vincent Breitmoser 28c1df7473 drop more unused dependencies 2018-01-24 01:32:14 +01:00
Vincent Breitmoser 3379a1d85c update compile sdk to 27 2018-01-24 01:32:14 +01:00
Vincent Breitmoser 938081f125 hack to make PskKeyManager work on newer Android 2018-01-24 01:32:14 +01:00
Vincent Breitmoser 54eb1efa13 Upgrade to gradle 4.4.1 2018-01-24 01:32:10 +01:00
Vincent Breitmoser 29a740a902 suppress AutoValue mutable byte array warnings 2018-01-22 01:47:22 +01:00
Vincent Breitmoser 9db09f8b86 Pin timber lib 2018-01-20 21:32:37 +01:00
Vincent Breitmoser 4a28658c96 plant DebugTree on startup 2018-01-20 21:32:37 +01:00
Vincent Breitmoser 22c65f2ab8 Use Timber instead of Android.Log 2018-01-20 21:32:37 +01:00
Vincent Breitmoser 73b65bf50b get rid of liblog 2018-01-20 21:32:37 +01:00
Vincent Breitmoser ac96fea1fc disable coveralls in .travis.yml 2018-01-20 21:31:55 +01:00
Vincent Breitmoser c34a64fa5b disable coveralls (for now) 2018-01-19 16:21:46 +01:00
Vincent BreitmoserandGitHub c39aa99fc7 Merge pull request #2252 from open-keychain/refactor-securitytoken-ops
Refactor SecurityToken ops
2018-01-14 23:39:10 +01:00
Vincent Breitmoser d956485463 add license headers 2018-01-14 04:07:19 +01:00
Vincent Breitmoser 442845f1fe Split up ResetAndWipeTokenOp a bit, and add test 2018-01-13 16:28:26 +01:00
Vincent Breitmoser 0d2cbd0654 rename methods that do io to "read*" instead of "get*" 2018-01-13 15:32:36 +01:00
Vincent Breitmoser abf5e5d170 refactor OpenPgpCapabilities to use AutoValue 2018-01-13 15:32:36 +01:00
Vincent Breitmoser 401b90a493 rename UseCases to TokenOps, and move to operations package 2018-01-12 18:50:45 +01:00
Vincent Breitmoser c00eb7b7f3 Further refactor SecurityTokenConnection 2018-01-12 17:00:32 +01:00
Vincent Breitmoser 626c08bbbe extract ModifyPinUseCase 2018-01-12 16:53:18 +01:00
Vincent Breitmoser 47319d22b9 extract GenerateKeyUseCase 2018-01-12 16:00:52 +01:00
Vincent Breitmoser 4cbdad7cb8 extract ResetAndWipeUseCase 2018-01-12 15:55:47 +01:00
Vincent Breitmoser bb2b37cff6 SecurityTokenConnection code style 2018-01-12 15:55:47 +01:00
Vincent Breitmoser 7212148913 add unit test for against commit e22cd98 2018-01-12 15:55:47 +01:00
Vincent Breitmoser 139735f0e1 refactor decryptSessionKey 2018-01-12 15:55:46 +01:00
Vincent Breitmoser 0ab71ea498 extract unit test for SecurityTokenChangeKeyUseCase 2018-01-12 15:55:31 +01:00
Vincent Breitmoser 3cf4582747 unit test for PsoDecryptUseCase 2018-01-12 15:55:31 +01:00
Vincent Breitmoser 1ed2cae2b0 Extract OpenPGP card operation logic from SecurityTokenConnection class 2018-01-12 15:55:29 +01:00
Vincent BreitmoserandGitHub 510d7aa796 Merge pull request #2226 from open-keychain/multi-passphrase
Handle decryption with multiple candidate keys
2018-01-12 15:10:25 +01:00
Vincent Breitmoser 04037ed0b4 Minor cleanup and better logging in SecurityTokenConnection 2018-01-10 17:48:58 +01:00
Vincent Breitmoser 9031173b8a fix misleading variable name 2018-01-10 17:48:58 +01:00
Vincent BreitmoserandGitHub 14ce085be8 Merge pull request #2245 from gim-/2170-text-clash
Avoid localized text clash in create key start fragment
2017-12-18 02:18:02 +01:00
Vincent BreitmoserandGitHub bdaa8f8070 Merge pull request #2243 from open-keychain/remove-experimental-fp
Remove experimental word confirm
2017-12-15 15:27:36 +01:00
Vincent BreitmoserandGitHub 55df2a3d05 Merge pull request #2231 from open-keychain/rm-pinning-lib
Remove unused AndroidPinning and refactor certificate pinning
2017-12-07 11:50:44 +01:00
Vincent Breitmoser ecf9249247 don't create OpenKeychain dir on startup 2017-11-29 15:05:45 +01:00
Vincent Breitmoser 86e41f8996 fix delete method in TemporaryFileProvider 2017-11-29 14:44:04 +01:00
Vincent Breitmoser 62528fc941 fix NPE in KeyLoader 2017-11-29 14:23:37 +01:00
Vincent BreitmoserandGitHub daa84ae085 Merge pull request #2224 from hagau/ssh_encode_signature
Encode signature to SSH compatible format in SshAuthenticationService
2017-11-28 16:47:53 +01:00
Vincent Breitmoser e981a1444c use Hex.decode in unit tests 2017-11-28 16:40:06 +01:00
Vincent Breitmoser 3bfb04f990 show more generic "Enter password" if asking for multiple 2017-11-28 16:18:46 +01:00
Vincent Breitmoser 04efa9e66d check all requested keys in PassphraseDialogActivity 2017-11-28 16:18:46 +01:00
Vincent Breitmoser 66f713c847 add simple unit test for more than decryption one key candidate 2017-11-28 16:15:11 +01:00
Vincent Breitmoser 5e416d6ae5 collect all potential keys before asking for passphrase 2017-11-28 16:15:11 +01:00
Vincent Breitmoser 028a7c7a3a add handling for UnsupportedUsbToken exception 2017-11-28 15:10:04 +01:00
Vincent Breitmoser 9487806c08 respect experimental setting for untested usb devices 2017-11-28 15:10:04 +01:00
Vincent Breitmoser 0d099116d5 add experimental setting to allow untested usb devices 2017-11-28 15:08:13 +01:00
Vincent Breitmoser 71d2d66ee2 Use different approach for whitelisting usb security tokens 2017-11-28 15:08:12 +01:00
Vincent BreitmoserandGitHub fa82a9eb42 Merge pull request #2217 from hagau/cleanup_auth_sig_gen
Fix EdDSA signature generation for authentication & clean up authentication signature generator
2017-11-25 15:32:05 +01:00
Vincent Breitmoser 1f7c7f49d4 remove check for unsupported usb devices 2017-11-22 16:19:26 +01:00
Vincent Breitmoser 8c2c131be6 refresh connection capabilities after token reset 2017-11-22 15:11:54 +01:00
Vincent Breitmoser 21d533902e handle unavailable pins better for SecurityTokenConnection 2017-11-22 14:57:36 +01:00
Vincent Breitmoser bf173b1e65 use deterministic passphrase in PgpKeyOperationTest 2017-11-22 14:19:38 +01:00
Vincent BreitmoserandGitHub 833ff57e51 Merge pull request #2214 from hagau/auth_provider_utils
Add/modify helper for getting authentication provider information
2017-11-22 13:14:59 +01:00
Vincent Breitmoser 57609636a6 add note about where usb whitelisting happens 2017-11-19 17:01:29 +01:00
Vincent BreitmoserandDominik Schürmann 3a818e8cde improve security token connection unit tests 2017-11-02 19:25:08 +01:00
Vincent Breitmoser a42391f7e9 add Nitrokey Pro to whitelist for reset and key import after testing 2017-10-31 16:07:07 +01:00
Vincent Breitmoser aef66e97ea Disable reset for Gnuk token version < 1.2.5 2017-10-31 15:40:14 +01:00
Vincent Breitmoser a51d0555e1 Retain RSA public exponent length when setting key attributes in putKey operation
Similar to the previous commit, openpgp applet implementations differ in
regards to the public exponent length. As of this writing:
- The SmartPGP applet requires an 11 bit public exponent size
- The Gnuk token requires a 32 bit public exponent size

For this reason, we simply set the public exponent size to the one
previously set in the key attribute info. With this commit, the only
variable that can actually change for an RSA key is its modulus size.
2017-10-30 22:57:13 +01:00
Vincent Breitmoser 778fb8e94a Retain RSA key format when setting key attributes in putKey operation
For the put secret key operation, openpgp applet implementations differ
in their handling of attributes:

- there are four formats for sending key data: standard, standard with
  modulus, with crt, and with crt and modulus.
- the key attributes (modulus length, public exponent length, key
  format) can not be changed on all cards. changing them is only
  necessary for cards that support different key lengths (that is,
  RSA 4096)
- on the cards where they *can* be changed, not all parameters might be
  changeable. in particular, modulus length may be changeable but not
  key format.

Because of this constellation, the put key operation now only sets the
modulus of the key, while retaining the key format. At the time of
writing, the Gnuk and Nitrokey use the standard format, while the
Yubikey and other applets use crt+modulus.

This fixes loading keys into the Nitrokey Pro, and partially for the
Gnuk token.
2017-10-30 21:45:38 +01:00
Vincent Breitmoser 5f622339b1 Output usb data to debug log 2017-10-30 17:01:49 +01:00
Vincent Breitmoser 83b6c0e2f0 use correct max packet size in CcidReceiver 2017-10-29 02:42:26 +02:00
Vincent Breitmoser 0021c1f15f add tests for CcidTransceiver 2017-10-29 02:42:26 +02:00
Vincent Breitmoser 8b07428ec0 document T1TpduProtocol slighly better 2017-10-28 23:32:07 +02:00
Vincent Breitmoser 19dc0db89b add gnuk to supported tokens 2017-10-28 23:32:03 +02:00
Vincent Breitmoser 83ec3e7bf1 change "generic" to "communication" 2017-10-28 13:32:06 +02:00
Vincent Breitmoser 95034e36b1 fix unit test 2017-10-26 17:44:13 +02:00
Vincent Breitmoser b6236bde59 determine token type during connect 2017-10-26 17:20:13 +02:00
Vincent Breitmoser 8649332bdc don't distinguish unknown tokens by transport 2017-10-26 17:20:13 +02:00
Vincent Breitmoser 14b74b7590 add token transport and type to SecurityTokenInfo 2017-10-26 17:19:22 +02:00
Vincent BreitmoserandGitHub 0bb32fad2a Merge pull request #2194 from open-keychain/remove-fp-color
Remove colorization of fingerprints
2017-10-24 01:17:46 +02:00
Vincent BreitmoserandGitHub f41debb0e9 Merge pull request #2193 from hagau/fix_notifications
Fix showing of some notifications
2017-10-23 21:17:05 +02:00
Vincent Breitmoser 7eb37a89d8 reduce number of token roundtrips used to obtain SecurityTokenInfo 2017-10-23 20:40:25 +02:00
Vincent Breitmoser 2812f07d34 add rudimentary unit test for SecurityTokenConnection 2017-10-23 20:40:25 +02:00
Vincent Breitmoser c295a6815f write nfc communication to debug output 2017-10-23 20:40:25 +02:00
Vincent Breitmoser edaa629f46 add unit tests for CommandApdu 2017-10-23 20:40:25 +02:00
Vincent Breitmoser 911d2a1c96 rewrite CommandApdu 2017-10-23 20:40:25 +02:00
Vincent Breitmoser c89aab8802 reduce visibility where unnecessary 2017-10-23 20:40:25 +02:00
Vincent Breitmoser a4af2f7f5c rewrite ResponseApdu 2017-10-23 20:40:25 +02:00
Vincent Breitmoser e8103d8376 use reset instead of modify for changing pw1 2017-10-23 20:40:25 +02:00
Vincent Breitmoser 9b292a4c70 rename CommandAPDUFactory -> OpenPgpCommandApduFactory 2017-10-23 20:40:25 +02:00
Vincent Breitmoser b7723c1a4a replace magic constants in APDU factory 2017-10-23 20:40:25 +02:00
Vincent Breitmoser 8e9a62070d extract creation of CommandAPDUs into factory 2017-10-23 20:40:25 +02:00
Vincent Breitmoser 46b69d45c4 explicitly pass around instance of SecurityTokenConnection 2017-10-23 20:40:25 +02:00
Vincent Breitmoser e8f72718e9 rename SecurityTokenHelper to SecurityTokenConnection 2017-10-23 20:38:04 +02:00
Vincent BreitmoserandGitHub 476f756607 Merge pull request #2189 from open-keychain/disable-tokens
Disable unsupported USB tokens
2017-10-23 11:07:59 +02:00
Vincent Breitmoser dfed7d3c93 Move decision of whether to show button into ShowNfcSweetspotActivity 2017-10-12 10:05:04 +02:00
Vincent Breitmoser 287d3251c5 Add "Where is my NFC reader?" feature to nfc waiting dialog 2017-10-10 05:06:40 +02:00