Commit Graph
100 Commits
Author SHA1 Message Date
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
Vincent Breitmoser c07e808d24 add nfc sweetspot data, scraped from NFC-Ring API 2017-10-10 04:54:43 +02:00
Vincent Breitmoser 0cb000a0be Change some package structure 2017-10-09 14:24:42 +02:00
Vincent Breitmoser a51252910b some T=1 refactoring 2017-10-09 14:17:30 +02:00
Vincent Breitmoser 6cc058e25f some more cleanup in usb classes 2017-10-08 05:01:40 +02:00
Vincent Breitmoser 31da4c450d Ignore leading data before IccPowerOn operation in CcidTransceiver 2017-10-08 05:01:39 +02:00
Vincent Breitmoser 7a24f4c237 refactor CcidTransceiver 2017-10-08 05:01:25 +02:00
Vincent Breitmoser 65c1ca91d4 explicitly connect before writing to output stream while creating github linked id 2017-10-06 19:19:35 +02:00
Vincent Breitmoser c4905c5eda increase timeouts for github account linking 2017-10-06 19:07:54 +02:00
Vincent Breitmoser fa3345f595 fix base64 encoding for github auth revocation 2017-10-06 19:07:40 +02:00
Vincent Breitmoser 2debc23ce0 slightly nicer error reporting for security token cla chaining 2017-10-06 19:06:43 +02:00
Vincent BreitmoserandGitHub 618c3a506c Merge pull request #2167 from open-keychain/ditch-consolidate
Ditch "consolidate" mechanism
2017-10-02 16:46:12 +02:00
Vincent Breitmoser b2e4a035a2 make qr code background color in transfer fragment white 2017-09-30 21:30:10 +02:00
Vincent Breitmoser 4536645170 don't show "link account" button if feature is disabled 2017-09-30 21:19:20 +02:00
Vincent Breitmoser 95e6562386 fix more NPEs in ManageSecurityTokenFragment 2017-09-29 23:41:32 +02:00
Vincent Breitmoser 565c237903 nicer preview for api deduplicate key dialog 2017-09-29 15:56:50 +02:00
Vincent Breitmoser 7ee41aa51c support partially bound tokens in key health view 2017-09-28 17:29:46 +02:00
Vincent Breitmoser 77856afc4f locked empty security tokens are locked, not empty 2017-09-28 17:29:46 +02:00