Roman Zeyde
d9b07e2ac6
gpg: hack agent prototype
2016-05-28 23:02:45 +03:00
Roman Zeyde
f0ea568bb8
gpg: add more UTs for decode
2016-05-27 22:07:50 +03:00
Roman Zeyde
34c614db6e
gpg: add more UTs for decode
2016-05-27 21:52:00 +03:00
Roman Zeyde
af8ad99c7a
gpg: add UTs for decode
2016-05-27 16:59:10 +03:00
Roman Zeyde
313271ac06
gpg: move signer.py to __main__.py
2016-05-27 14:38:38 +03:00
Roman Zeyde
969e08140b
gpg: add more tests for keyring
2016-05-27 13:43:55 +03:00
Roman Zeyde
39f00af65d
gpg: add help for sign arguments
2016-05-27 12:20:33 +03:00
Roman Zeyde
272759e907
gpg: allow dependency injection for subprocess module
2016-05-27 12:20:33 +03:00
Roman Zeyde
4be55156ed
gpg: refactor pubkeys' parsing code
2016-05-27 11:28:23 +03:00
Roman Zeyde
80a5ea0f2a
gpg: add UTs for keyring
2016-05-26 23:16:08 +03:00
Roman Zeyde
dcf35c4267
decode: split _remove_armor() from verify()
2016-05-26 22:29:19 +03:00
Roman Zeyde
7570861765
gpg: fixup signer docstring
2016-05-26 22:29:19 +03:00
Roman Zeyde
339f61c071
gpg: better __repr__ and logging for public keys
2016-05-26 22:29:19 +03:00
Roman Zeyde
3c4fb7a17b
gpg: allow pinentry UI via "display=" option
2016-05-25 18:52:20 +03:00
Roman Zeyde
a6a0c05f57
keyring: fix more Python 2/3 issues
2016-05-23 23:03:02 +03:00
Roman Zeyde
4c036d2ce7
gpg: fixup str/bytes issues
2016-05-22 23:10:12 +03:00
Roman Zeyde
eaa91cfdbd
gpg: add tests for basic protocol utils
2016-05-22 23:06:12 +03:00
Roman Zeyde
fd61941d0f
gpg: fixup subcommand for Python 3
...
http://bugs.python.org/issue9253#msg186387
2016-05-22 22:28:07 +03:00
Roman Zeyde
decd3ddf75
gpg: fixup str/bytes issues
2016-05-22 22:20:55 +03:00
Roman Zeyde
4c07b360cd
gpg: fix pep8/pylint warning
2016-05-22 08:07:51 +03:00
Roman Zeyde
0b0f60dd89
gpg: rename load_from_gpg -> get_public_key
2016-05-21 20:23:48 +03:00
Roman Zeyde
db6903eab7
gpg: rename agent -> keyring
2016-05-21 20:17:58 +03:00
Roman Zeyde
171a0c2f6a
gpg: remove agent's main
2016-05-21 20:12:41 +03:00
Roman Zeyde
a535b31a1b
gpg: fixup lint/pep8
2016-05-21 20:00:38 +03:00
Roman Zeyde
ee4bcddd22
gpg: rename main API
2016-05-21 17:32:15 +03:00
Roman Zeyde
f626d34e21
gpg: using closing() context handler
2016-05-21 17:21:16 +03:00
Roman Zeyde
2cf081420f
gpg: move armor to proto
2016-05-21 17:15:42 +03:00
Roman Zeyde
0e72e3b7ff
gpg: move PublicKey to proto
2016-05-21 17:10:17 +03:00
Roman Zeyde
ce61c8b2ae
gpg: move timeformat from util
2016-05-21 17:04:18 +03:00
Roman Zeyde
3192e570ed
gpg: initial support for ElGamal and DSA
...
Doesn't verify anything (yet).
2016-05-21 16:54:38 +03:00
Roman Zeyde
bf8f516ef4
gpg: no visual challenge
2016-05-21 07:44:27 +03:00
Roman Zeyde
51f7d6120b
client: not visual challength for SSH
2016-05-21 07:43:10 +03:00
Roman Zeyde
0cb7cf0746
Merge branch 'python3'
2016-05-18 18:42:00 +03:00
Roman Zeyde
b4ff31f816
gpg: handle ECDH keys
2016-05-12 22:15:05 +03:00
Roman Zeyde
6e9d6d6430
gpg: add URLs for subpackets
2016-05-12 21:55:26 +03:00
Roman Zeyde
fa9391ede6
gpg: update required firmware version
2016-05-08 21:19:28 +03:00
Roman Zeyde
ad8eafe6f8
Merge branch 'master' into python3
...
Conflicts:
setup.py
2016-05-07 21:14:20 +03:00
Roman Zeyde
695079e4b9
agent: raise explicit error when signature fails
2016-05-07 20:49:51 +03:00
Roman Zeyde
9888ef971a
gpg: add installation command to README
2016-05-07 20:41:34 +03:00
Roman Zeyde
4270d8464f
gpg: add screencasts
2016-05-07 20:29:07 +03:00
Roman Zeyde
25a427081c
gpg: add more output examples
2016-05-07 13:24:25 +03:00
Roman Zeyde
939fdbe829
gpg: add output examples
2016-05-07 13:15:29 +03:00
Roman Zeyde
1f126f3002
gpg: better logging
2016-05-07 13:05:25 +03:00
Roman Zeyde
78526d1379
gpg: install gpg-git wrapper script
2016-05-07 13:02:16 +03:00
Roman Zeyde
7e3c3b4f77
gpg: fixup README
2016-05-07 12:49:01 +03:00
Roman Zeyde
513c19bf1f
gpg: remove unused files
2016-05-07 09:54:55 +03:00
Roman Zeyde
f1e75783c4
gpg: use environment variable for user_id
2016-05-07 09:41:58 +03:00
Roman Zeyde
68637525ea
Merge branch 'master' into python3
2016-05-06 22:24:17 +03:00
Roman Zeyde
fce45832c2
gpg: fix small typo
2016-05-06 22:22:02 +03:00
Roman Zeyde
df001c4100
gpg: rename README
2016-05-06 22:20:50 +03:00
Roman Zeyde
1a228a1af6
gpg: refactor cli
2016-05-06 22:19:46 +03:00
Roman Zeyde
2846c0bf1a
util: add tests for gpg-related code
2016-05-06 14:28:15 +03:00
Roman Zeyde
b2147a8418
formats: curve name should be a string
2016-05-05 22:31:07 +03:00
Roman Zeyde
d9c4e930f3
main: fixup str/bytes issue for curve_name
2016-05-05 21:42:11 +03:00
Roman Zeyde
6fd6fe6520
handle missing imports
2016-05-04 23:05:43 +03:00
Roman Zeyde
4a7fef3011
gpg: fix logging and arguments in demo
2016-04-30 22:20:50 +03:00
Roman Zeyde
a0e476ea19
gpg: remove unused code
2016-04-30 22:15:15 +03:00
Roman Zeyde
683aae7aa4
gpg: add logging for digest
2016-04-30 22:11:51 +03:00
Roman Zeyde
d369638c7b
gpg: add a script for faster commit verification
2016-04-30 22:07:46 +03:00
Roman Zeyde
07c4100618
gpg: fixup logging and make sure it works with git
2016-04-30 21:55:37 +03:00
Roman Zeyde
b9f139b74a
gpg: refactor subkey as pubkey
2016-04-30 21:34:12 +03:00
Roman Zeyde
3bf926620b
gpg: handle multiple packets
2016-04-30 21:07:19 +03:00
Roman Zeyde
ab192619f4
gpg: move protocol utils to proto.py
2016-04-30 16:50:01 +03:00
Roman Zeyde
f982d785bd
gpg: add marker to our pubkey signature packets
2016-04-30 16:27:43 +03:00
Roman Zeyde
31c3686fa4
gpg: small fixes
2016-04-30 15:39:32 +03:00
Roman Zeyde
87ca33c104
gpg: fixup encoding for large packets
2016-04-30 15:34:18 +03:00
Roman Zeyde
c3d23ea7f5
gpg: allow longer packets
2016-04-30 14:47:32 +03:00
Roman Zeyde
5c04d17c43
gpg: demo with ed25519 TREZOR-based keys
2016-04-30 13:32:20 +03:00
Roman Zeyde
2d2d6efa93
gpg: small refactoring
2016-04-30 13:25:14 +03:00
Roman Zeyde
131c30acca
gpg: use explicit public key algo_id
2016-04-30 13:20:06 +03:00
Roman Zeyde
a7ef263954
gpg: generalize RSA/ECDSA signatures
2016-04-30 13:01:40 +03:00
Roman Zeyde
d486c1ee7b
gpg: refactor agent rsa/ecdsa signature parsing
2016-04-30 12:33:01 +03:00
Roman Zeyde
f35b5be3ac
gpg: 1st try for RSA primary key support
2016-04-30 11:40:02 +03:00
Roman Zeyde
9ed9781496
gpg: support RSA decode and verify
2016-04-30 11:02:41 +03:00
Roman Zeyde
5d007260e1
gpg: add docstrings
2016-04-30 10:04:44 +03:00
Roman Zeyde
7dfa3ab255
gpg: replace PublicKey.curve_name attribute
2016-04-30 09:29:04 +03:00
Roman Zeyde
b8eba72d0b
gpg: fixup subkey/export handling
2016-04-29 22:46:02 +03:00
Roman Zeyde
492285de1b
gpg: rename pubkey methods
2016-04-29 22:28:41 +03:00
Roman Zeyde
cc326b1f7d
gpg: pubkey is not needed for make_signature
2016-04-29 22:25:08 +03:00
Roman Zeyde
169ff39b1a
gpg: remove visual keyword for now
2016-04-29 22:23:12 +03:00
Roman Zeyde
dcc7ef2600
minor fixes
2016-04-29 22:10:04 +03:00
Roman Zeyde
ac2d12b354
It works again!
2016-04-29 17:45:16 +03:00
Roman Zeyde
f3b49ff553
gpg: use strict bash mode for demo
2016-04-29 11:14:27 +03:00
Roman Zeyde
12d640c66b
fixup pep8
2016-04-29 10:25:46 +03:00
Roman Zeyde
32984d2d3f
agent: add support for gpg passphrase entry
2016-04-29 10:16:58 +03:00
Roman Zeyde
a45c6c1300
horrible hack - but IT WORKS!!!
2016-04-28 22:17:08 +03:00
Roman Zeyde
1d3ba7e9b7
subkey: add backsig
2016-04-28 22:10:40 +03:00
Roman Zeyde
673b1df648
1st try
2016-04-28 21:31:01 +03:00
Roman Zeyde
e63f03354e
gpg: refactor signing providers from actual Signer class
2016-04-28 14:56:58 +03:00
Roman Zeyde
3c9c1b4e14
gpg: export verifying_key from parsing
2016-04-28 14:44:52 +03:00
Roman Zeyde
5caf4728ee
gpg: fixup comment
2016-04-28 12:56:06 +03:00
Roman Zeyde
dde6dcdaeb
gpg: fix unpacking for subkey-case
2016-04-28 12:55:48 +03:00
Roman Zeyde
1f3c989884
gpg: 'dump' -> 'serialize'
2016-04-28 12:34:00 +03:00
Roman Zeyde
55dea41959
gpg: make sure gpg-agent is running before connecting
2016-04-28 12:09:45 +03:00
Roman Zeyde
ed01c00d0c
gpg: add agent-signing tool
2016-04-27 21:01:21 +03:00
Roman Zeyde
e09571151c
gpg: remove length type logging
2016-04-26 21:46:39 +03:00
Roman Zeyde
340aae4fb8
gpg: refactor decode to functional style
2016-04-26 21:38:59 +03:00
Roman Zeyde
9875c9927e
gpg: demo for subkeys decoding
2016-04-26 21:12:02 +03:00
Roman Zeyde
d9862ae0e1
gpg: debug logging for ECDSA verification
2016-04-26 12:57:27 +03:00
Roman Zeyde
5fb8b0e047
decode: parse GPG subkeys
2016-04-26 12:54:10 +03:00
Roman Zeyde
324fc21a5c
decode: refactor digest calculation
2016-04-26 12:34:50 +03:00
Roman Zeyde
e2f5ccafdf
signer: allow importing to local keyring (using "-o" flag)
2016-04-26 10:26:12 +03:00
Roman Zeyde
a0b4776374
gpg: fixup exception message
2016-04-25 18:19:08 +03:00
Roman Zeyde
5abc3dc41b
gpg: fix check script -v option
2016-04-24 21:56:09 +03:00
Roman Zeyde
3c2eb64e0d
gpg: fixup demo script
2016-04-24 14:25:01 +03:00
Roman Zeyde
67d58a5ae0
Merge pull request #10 from romanz/gpg
...
GPG v2.1 support
2016-04-24 14:07:22 +03:00
Roman Zeyde
9a435ae23e
gpg: minor renames and code refactoring
2016-04-24 14:05:30 +03:00
Roman Zeyde
d7913a84d5
gpg: pydocstyle fixes
2016-04-24 12:22:02 +03:00
Roman Zeyde
a114242243
gpg: small fixes before merging to master
2016-04-24 10:58:32 +03:00
Roman Zeyde
b6dbc4aa81
gpg: small fixes before merging to master
2016-04-23 23:37:11 +03:00
Roman Zeyde
6cc3a629a8
gpg: export git-gpg wrapper
...
should be used as 'gpg.program' in .git/config
2016-04-23 23:13:06 +03:00
Roman Zeyde
40377fc66b
gpg: add __init__.py
2016-04-23 22:46:24 +03:00
Roman Zeyde
489c8fe357
gpg: rename git wrapper
2016-04-23 22:45:11 +03:00
Roman Zeyde
6f4f33bfa5
gpg: verify signature after signing
2016-04-23 22:41:43 +03:00
Roman Zeyde
76ce25fab1
gpg: fixup imports
2016-04-23 22:30:12 +03:00
Roman Zeyde
5506310239
gpg: move under trezor_agent
2016-04-23 21:47:30 +03:00
Roman Zeyde
74f7ebf228
gpg: support ed25519 decoding
2016-04-22 22:39:03 +03:00
Roman Zeyde
b6cfa0c03f
main: show better error when no SSH remote is found
2016-04-22 11:31:00 +03:00
Roman Zeyde
861401e89a
client: make get_address() public
2016-04-09 21:09:11 +03:00
Roman Zeyde
335d050212
formats: fixup comment
2016-04-09 20:40:32 +03:00
Roman Zeyde
f056f1fac5
fixup lint errors
2016-03-12 21:07:10 +02:00
Roman Zeyde
0e2a19f7ce
client: fixup UT
2016-03-12 20:57:16 +02:00
Roman Zeyde
2cdbc89d28
protocol: fixup UT
2016-03-12 20:57:09 +02:00
Roman Zeyde
1022e54d6a
protocol: fail gracefully on cancellation
2016-03-12 20:42:14 +02:00
Roman Zeyde
ea88f425f5
protocol: fail on unsupported commands
2016-03-12 20:40:09 +02:00
Roman Zeyde
000860feaf
main: add --test flag for verifying SSH configuration
...
https://help.github.com/articles/testing-your-ssh-connection/
2016-03-12 15:32:29 +02:00
Roman Zeyde
2a5196003e
tests: update for CallException handling
2016-03-06 22:06:45 +02:00
Roman Zeyde
e10b42bbb5
client: catch CallException for cancellation handling
2016-03-06 21:59:17 +02:00
Roman Zeyde
b07d7e6535
server: handle IOError gracefully
2016-03-06 21:58:39 +02:00
Roman Zeyde
4838030be5
factory: add CallException type
2016-03-06 21:58:11 +02:00
Roman Zeyde
c9f341a42b
main: handle 'pushurl' and 'url' remote settings
2016-03-06 21:21:25 +02:00
Roman Zeyde
bdd2568b2c
main: log pubkey fingerprint on INFO level
2016-03-05 20:49:14 +02:00
Roman Zeyde
e6ccc324a0
main: ignore path from git remote URL
...
It's much easier to use single keypair per user@host
2016-03-05 14:56:58 +02:00
Roman Zeyde
98e875562e
main: add trezor-git
entry point
2016-03-05 11:18:24 +02:00
Roman Zeyde
4384b93c19
main: remove unneeded use_shell parameter
2016-03-05 11:03:10 +02:00
Roman Zeyde
8a90a8cd84
main: split git from ssh
2016-03-05 10:56:30 +02:00
Roman Zeyde
1e86983782
main: split argument parser
2016-03-05 10:46:36 +02:00
Roman Zeyde
c63201c90c
client: show visual challenge
2016-03-05 10:39:47 +02:00
Roman Zeyde
19b00dc427
client: add logging for challenge sizes
2016-02-27 20:09:03 +02:00
Roman Zeyde
8909b38107
main: use command-line for git interaction
2016-02-20 18:24:14 +02:00
Roman Zeyde
d6532311b9
fix PEP8 & docstrings
2016-02-19 20:52:59 +02:00
Roman Zeyde
41b30b42b5
main: add git identity via "origin" remote
2016-02-19 20:48:16 +02:00
Roman Zeyde
2c7fabfa35
tests: add docstrings
2016-02-19 11:35:34 +02:00
Roman Zeyde
1adccdbfe6
__init__: add docstrings
2016-02-19 11:35:27 +02:00
Roman Zeyde
04f4bbf2ac
main: add docstrings
2016-02-19 11:35:16 +02:00
Roman Zeyde
bbe963d0ff
util: rename UTs
2016-02-19 11:34:58 +02:00
Roman Zeyde
c49514754b
util: add docstrings
2016-02-19 11:34:20 +02:00
Roman Zeyde
2ebefff909
server: add docstrings
2016-02-19 11:19:01 +02:00
Roman Zeyde
21e89014c9
protocol: add docstrings and replace custom exceptions
2016-02-19 10:49:39 +02:00
Roman Zeyde
566e4310e1
formats: add docstrings
2016-02-19 10:40:39 +02:00
Roman Zeyde
e1441518d4
factory: add docstrings
2016-02-19 10:08:36 +02:00
Roman Zeyde
5cb12a43de
client: add docstrings
2016-02-19 10:07:33 +02:00
Roman Zeyde
d712509a4e
client: show current time instead of identity.path
2016-02-17 15:04:10 +02:00
Roman Zeyde
40e2d9fb2c
fixup imports order
...
isort -rc trezor_agent
2016-02-15 20:53:14 +02:00
Roman Zeyde
cd4cc059d6
main: remove git-config parsing code
2016-02-15 20:52:44 +02:00
Roman Zeyde
2b047f0525
main: refactor shell flag
2016-02-15 20:38:34 +02:00
Roman Zeyde
64776fd294
rename client test
2016-02-15 17:22:57 +02:00
Roman Zeyde
231995bd1a
remove trezor module
2016-02-15 17:22:01 +02:00
Roman Zeyde
ff76f17c02
client: elaborate SSH blob parsing
2016-02-13 20:26:23 +02:00
Roman Zeyde
963e80b49b
client: move logging from parsing code
2016-02-06 18:32:51 +02:00
Roman Zeyde
dee13b75ea
client: remove unneeded 'if'
2016-02-06 18:27:46 +02:00
Roman Zeyde
be86507e00
client: pass index as default argument
2016-02-06 17:52:49 +02:00
Roman Zeyde
2f2663ef94
client: set identity index explicitly
2016-02-06 17:51:57 +02:00
Roman Zeyde
cafa218e19
server: pass handler and add debug option
2016-01-26 21:14:52 +02:00
Roman Zeyde
50b627ed45
protocol: allow debugging SSH message handler
2016-01-26 21:14:27 +02:00
Roman Zeyde
7f36097c15
tests: refactor mocks and fakes
2016-01-22 12:04:24 +02:00
Roman Zeyde
2eff21f96c
factory: refactor for easier testing
2016-01-19 22:52:52 +02:00
Roman Zeyde
9afd07e867
server: make sure accepted UNIX sockets are blocking
...
It was a problem on Mac OS X, where sometimes we got EAGAIN
errors from calling socket.recv() on them.
2016-01-18 22:49:27 +02:00
Roman Zeyde
b101281a5b
main: add command-line argument for setting UNIX socket timeout
2016-01-16 22:14:36 +02:00
Roman Zeyde
8c6ac43cf4
Merge Trezor and KeepKey functionality
2016-01-15 13:20:38 +02:00
Kenneth Heutmaker
5932a89dc5
Make it work with KeepKey
2016-01-14 13:28:32 -08:00
Roman Zeyde
0c63aef719
sort imports using isort tool
2016-01-09 16:06:47 +02:00
Roman Zeyde
33a6951a96
server: don't crash after single exception
2016-01-08 20:46:49 +02:00
Roman Zeyde
fb0d0a5f61
server: stop the server via a threading.Event
...
It seems that Mac OS does not support calling socket.shutdown(socket.SHUT_RD)
on a listening socket (see https://github.com/romanz/trezor-agent/issues/6 ).
The following implementation will set the accept() timeout to 0.1s and stop
the server if a threading.Event (named "quit_event") is set by the main thread.
2016-01-08 20:28:38 +02:00
Roman Zeyde
7ea20c7009
test_trezor: verify serialized signature
2016-01-08 17:30:08 +02:00
Roman Zeyde
fe1e1d2bb9
server: log command with INFO level
2016-01-08 16:04:57 +02:00
Roman Zeyde
7dabe2c555
test_protocol: fix bytes->str
2016-01-04 21:03:46 +02:00
Roman Zeyde
c3fa79e450
Fix a few pylint issues
2016-01-04 19:21:56 +02:00
Roman Zeyde
e19d76398e
formats: verify public key according to requested ECDSA curve
2015-12-18 16:04:20 +02:00
Roman Zeyde
535b4d50c7
Fix SSH connection arguments handling
2015-11-27 17:26:06 +02:00
Roman Zeyde
60571e65dd
trezor: add support for Ed25519 SSH keys
2015-10-27 19:49:30 +02:00
Roman Zeyde
e59404737d
trezor: fix PEP8
2015-09-16 21:57:48 +03:00
Pavol Rusnak
ca30707789
don't ask for passphrase (always use empty one similarly to TREZOR Connect)
2015-09-16 15:32:47 +02:00
Roman Zeyde
803e3bb738
client: require TREZOR v1.3.4 firmware for SSH NIST256P1 curve support
2015-09-04 13:07:35 +03:00
Roman Zeyde
a8c6e71825
rename package name to trezor_agent
2015-08-21 21:22:26 +03:00
Roman Zeyde
58c650c84a
rename main trezor-agent script
2015-07-02 16:22:46 +03:00
Roman Zeyde
8976cd568a
rename bash script to trezor_agent
2015-06-15 18:29:13 +03:00