Commit Graph

62 Commits

Author SHA1 Message Date
Nick Sullivan
cd72cb6ed4 Merge pull request #21 from ewalk153/patch-1
corrected typo in instructions for "run the server"
2014-02-05 21:16:31 -08:00
Nick Sullivan
a52e56ab54 Merge pull request #22 from kisom/ecdsa
Add ECC support
2014-01-16 14:14:06 -08:00
Kyle
de5b1817c7 SHA256 the ECDH shared key
This ensures the shared key is a more uniform distribution than just
taking the bytes from the shared X.
2014-01-10 16:27:14 -07:00
Nick Sullivan
f88722f3ee Add a step to get "go vet" in travis.ci build 2014-01-10 11:43:38 -08:00
Nick Sullivan
f243f78b7c Update travis.ci to use Go tip 2014-01-10 11:22:28 -08:00
Kyle
1916f385ed Move {En,De}cryptCBC and MakeRandom to symcrypt.
The symcrypt package now contains common secret-key code that is
redefined in a number of packages.
2014-01-10 03:58:43 -07:00
Kyle
a696c85bba Cleanups based on feedback from pull request. 2014-01-10 03:09:55 -07:00
Kyle
46b93b7fba Update core_test to check for DefaultRecordType.
In the passvault, the default type of public key cryptography is
selected via a variable. The core test has been changed where it relies
on RSA specifically to check for the default record type.
2014-01-09 19:23:44 -07:00
Kyle
4e4ac735ef Add ECCRecord support to keycache.
This commit adds ECC cases to functions checking for RSA records.
Additionally, the rsaEncryptedKey variable is changed to pubEncryptedKey
to reflect a general use of public key crypto.
2014-01-09 19:22:09 -07:00
Kyle
db0b10e671 Add ECC support to cryptor.
There are a few changes made here:
  * Comments have been updated to reflect the presence of ECC records.
  * Variables named rsa* have been renamed pub* to reflect the general
    use of public key cryptography, instead of RSA specifically.
  * An if statement for RSA keys now handles both RSA and ECC keys.
2014-01-09 19:20:06 -07:00
Kyle
5ea44c0ffb Add ECC support to passvault.
This adds code to handle ECC records; the RSA code remains intact.
While old password records are not affected, new records use ECC. Due to
the use of public keys to encrypt a KEK that is then used to encrypt
data, there is no visible change to end users. A user with an RSA key
can interact and share a secret with a user who has an ECC key.

The bulk of this commit simply adds cases for handling EC records.
2014-01-09 19:18:16 -07:00
Kyle
689f0e6fdc Add ECDH package.
The package encrypts data using ECDHE with AES-128-CBC-HMAC-SHA1;
this matches the other components. The curve used is P256 to match
the use of AES-128. The Go ECDSA package is used; no signatures are
done, but it presents usable PublicKey and PrivateKey types that are
useful for this system.
2014-01-09 19:16:02 -07:00
Kyle
c0d375d4bf Begin adding ECDSA support. 2014-01-09 06:53:48 -07:00
Eric Walker
c29cd8aa5f corrected typo in instructions for "run the server"
Keygen instructions suggestion using the folder named "cert".
Server run instructions use the folder "certs".
This change harmonizes the two to be "cert".
2013-12-02 10:38:11 +01:00
Nick Sullivan
f0b03d58b7 Update README.md
Fix issue #20
2013-11-27 17:58:00 -08:00
Nick Sullivan
f37bb41abd Merge pull request #19 from grittygrease/32bit-compatible
Fix passvault on 32-bit systems
2013-11-27 10:58:45 -08:00
Nick Sullivan
8cc69edefe Fix passvault on 32-bit systems
The passvault's id is created with math.rand as a native int.
If the vault is created on a 64-bit system, it breaks compatibility
with 32-bit systems.

- Generate vaults with 32-bit ids.
- Update testcode
2013-11-27 10:55:24 -08:00
Albert Strasheim
056cc550df Add travis-ci build status to README. 2013-11-27 07:58:58 -08:00
Albert Strasheim
60a1cf5bd4 Merge pull request #18 from cloudflare/alberts/travis-ci
Added travis-ci configuration file.
2013-11-27 07:57:21 -08:00
Albert Strasheim
3d90b62ea9 Added travis-ci configuration file. 2013-11-27 07:53:59 -08:00
Nick Sullivan
7e9a8d64cf Merge pull request #17 from cloudflare/govet-testcode
Govet testcode
2013-11-26 12:20:19 -08:00
Nick Sullivan
0dc73c5c3a Merge pull request #1 from grittygrease/govet-testcode
Make testcode play nice with go vet
2013-11-26 12:17:33 -08:00
Nick Sullivan
669d7279c2 Make testcode play nice with go vet 2013-11-26 12:15:37 -08:00
Albert Strasheim
bd1c3db2d2 Merge pull request #16 from cloudflare/alberts/droneio
Add drone.io build status.
2013-11-26 11:53:15 -08:00
Albert Strasheim
c570a1f456 Add drone.io build status. 2013-11-26 11:49:53 -08:00
Albert Strasheim
9a5e256780 Merge pull request #15 from cloudflare/alberts/issue14
Tweak error returns to work with older Go. Fixes #14
2013-11-26 11:38:40 -08:00
Albert Strasheim
984f95ae17 Tweak error returns to work with older Go.
Fixes #14
2013-11-26 11:34:16 -08:00
John Graham-Cumming
3bb2a1f2b0 Merge pull request #13 from majek/fix_default_vault_location
By default vault should not be stored in /tmp!
2013-11-26 07:07:12 -08:00
John Graham-Cumming
5e00bad1ed Merge pull request #11 from majek/better_readme2
Rewritten readme
2013-11-26 07:06:31 -08:00
Marek Majkowski
15f4b5bc80 By default vault should not be stored in /tmp! 2013-11-26 06:37:14 -08:00
Marek Majkowski
dd83f1e970 Rewritten readme 2013-11-26 06:31:32 -08:00
John Graham-Cumming
455df346bc Merge pull request #10 from toekneestuck/ui
Added index.html as an example management UI
2013-11-26 01:46:17 -08:00
Tony Stuck
c9f55e42c7 Added index.html as an example UI to manage the Red October service 2013-11-25 20:13:07 -08:00
Nick Sullivan
f5789348de Add basic checking to username and password. 2013-11-25 11:10:51 -08:00
Nick Sullivan
9d6751ae76 Merge pull request #8 from majek/static_vs_staticpath
Documentation says about "-static" flag, not "-staticpath"
2013-11-25 07:58:32 -08:00
Nick Sullivan
4c5cb0ea9c Merge pull request #9 from majek/consistent_http_port
Consistent http port
2013-11-25 07:58:13 -08:00
Marek Majkowski
59c4fb135a Be consistent about port number, 8080 not 8000 2013-11-25 07:49:19 -08:00
Marek Majkowski
94d2bcc18f Documentation says about "-static" flag, not "-staticpath" 2013-11-25 07:12:19 -08:00
John Graham-Cumming
3be7cc32b6 Merge pull request #6 from jdiez17/master
Reformatted JSON examples, fixed Markdown
2013-11-22 06:51:07 -08:00
José Manuel Díez
f5c77700dd Added newlines to README.md to show examples as code blocks 2013-11-22 13:52:01 +00:00
José Manuel Díez
16db488ea4 Fix markdown in README (tabs -> spaces) 2013-11-22 13:49:16 +00:00
John Graham-Cumming
7a536a5721 Merge pull request #5 from djolivier/master
Fix typo on line 110, decryped -> decrypted.
2013-11-22 04:48:52 -08:00
Darren Olivier
af28e0cb49 Fix typo on line 110, decryped -> decrypted. 2013-11-22 14:32:00 +02:00
grittygrease
55f36c9d6a Update README.md
Update build and install instructions to use go get.
2013-11-21 12:26:54 -08:00
Albert Strasheim
576e326208 Merge pull request #4 from alberts/master
Make repository work with go get
2013-11-21 12:17:15 -08:00
Albert Strasheim
9c5d08f665 Make repository work with go get 2013-11-21 12:01:25 -08:00
dknecht
5f328bb7a3 update makefile to work in CloudFlare build system 2013-11-21 08:42:54 -08:00
Nick Sullivan
be1faea688 Add cf-package target. 2013-11-21 08:23:43 -08:00
Nick Sullivan
9c2cf08409 Add external dependency to makefile. 2013-11-21 08:20:49 -08:00
Nick Sullivan
d7d64a0c6b Small changes
The string used for selecting the transaction type should
be copied because it is passed by reference.

Augment HMAC to validate entire decryption request

All the valued fields need to be hashed for incoming
encrypted file.  This is to keep the integrity of the
request.

Add static test case for core

Test the output of a pre-computed encrypted blob with associated
vault.

Support hosting static file under /index

Require client auth only when server CA present

Add tests for cryptor.go

Improve comments.
2013-11-20 17:51:20 -08:00