Commit Graph

1754 Commits

Author SHA1 Message Date
Roland Shoemaker 0265b6f5d0 Merge upstream/master and fix conflicts 2015-06-10 12:43:11 -07:00
J.C. Jones ed63a524bf Bugfix: Make OCSP Response lifespans configurable. 2015-06-08 14:19:15 -07:00
Richard Barnes e32c681640 Stray comma 2015-06-08 15:45:55 -04:00
Richard Barnes 9e05b2e191 Removing spurious strictSSL settings 2015-06-08 15:45:09 -04:00
Richard Barnes fca1567cb2 Fixes to integration tests 2015-06-08 15:31:56 -04:00
Richard Barnes a620fe4583 Initial anti-replay mechanism 2015-06-08 15:02:39 -04:00
James 'J.C.' Jones 3acb03fdc9 Merge pull request #319 from letsencrypt/validate-contact
Validate contact details in the RA upon `new-reg`.
2015-06-06 07:57:16 -07:00
Roland Shoemaker 28db5aab45 Merge master 2015-06-06 02:47:55 +01:00
Roland Shoemaker 23b0cfa29f Extend email parsing 2015-06-06 02:46:51 +01:00
Roland Shoemaker 4ecd6d58b6 Merge master 2015-06-06 02:11:46 +01:00
Roland Shoemaker bb5c042cef Fix tests and various other cleanup 2015-06-06 02:06:35 +01:00
J.C. Jones 5aa652e6d5 Bugfix: OCSP Responder path is not a URL, just a path. 2015-06-05 13:33:28 -07:00
Jacob Hoffman-Andrews 1e036549cb Fix RA test. 2015-06-05 08:30:44 -07:00
Jacob Hoffman-Andrews 625eab5ad3 Move boulder to using local signer.
This allows us to use the same PKCS#11 key for both cert signing and OCSP
signing, and simplifies config and startup.

This also starts building with -tags pkcs11 in all scripts, which is required
now that the CA can choose between pkcs11 and non-pkcs11.

In order to successfully issue using a pkcs11 key, you'll need to run a version
of Go built off the master branch. The released versions are missing this
commit:
fe40cdd756,
which is necessary for PKCS#11 signing.
2015-06-05 08:13:39 -07:00
James 'J.C.' Jones 6a4aa8de3c Merge pull request #304 from letsencrypt/296-ca_tx_move
Issue #296: Fix erroneous transaction handling in CA
2015-06-03 22:10:43 -07:00
James 'J.C.' Jones a3521bcb61 Merge pull request #277 from rolandshoemaker/check-cert
Check generated certificate matches CSR
2015-06-03 22:10:35 -07:00
J.C. Jones 27f5aebbcd Updates per review 2015-06-03 21:57:01 -07:00
J.C. Jones abdc174be8 Issue #296: Fix erroneous transaction handling in CA
- Moved the transaction handling up to the `certificate-authority.go` file
- Simplified `certificate-authority-data.go`
- Created a mocks file in `test/` and reworked RA and CA to use it
- More audit logging to CA
2015-06-03 19:23:24 -07:00
Roland Shoemaker 8ad4358d30 Collect common values in config file 2015-06-03 17:41:27 +01:00
Jacob Hoffman-Andrews 9462dbcd9b Exit with proper error code in JS. 2015-06-02 15:51:55 -07:00
Jacob Hoffman-Andrews 1110666226 AMQP integration test improvements.
Clean up tempfiles on exit.
Print exceptions instead of hiding them.
Exit early if a build fails, and clean up processes that are running at the time.
Update README to reflect RabbitMQ requirement.
2015-06-02 13:39:05 -07:00
Jacob Hoffman-Andrews 38ef231c10 Make integration test fail correctly.
If a build command fails, try running the command, so shutdown can happen
normally and error can be handled there.
2015-06-02 12:02:14 -07:00
Roland Shoemaker e03a6b50d8 add 'npm install' 2015-06-02 12:02:05 -07:00
Roland Shoemaker be7943d432 quick cleanup 2015-06-02 12:02:05 -07:00
Roland Shoemaker af3abc97f6 add amqp-integration-test.py and use it in test.sh, also tell travis to give us RabbitMQ 2015-06-02 12:02:05 -07:00
Roland Shoemaker 51890a9626 Move cert-csr check to boulder/core and review fixes 2015-06-02 17:56:28 +01:00
Jacob Hoffman-Andrews 92b48553dd Integration test should run npm install.
Integration test now reflects correct exit status
2015-06-01 18:42:08 -07:00
Richard Barnes 3f8c5ea000 Add support for multiple domains on the command line 2015-06-01 21:20:04 -04:00
Richard Barnes 3596d6583a Add support for multi-domain certs to test.js 2015-06-01 21:02:38 -04:00
Richard Barnes 63ca50229d Fix a bug introduced in 81fa97f and make ./start.sh work 2015-06-01 12:46:19 -04:00
James 'J.C.' Jones 3e593d73c9 Merge pull request #262 from letsencrypt/ra-tests
Miscellaneous Fixes
2015-05-30 22:08:49 -07:00
Richard Barnes 4ec0e9fd67 Issue #267 2015-05-30 17:32:09 -04:00
bifurcation 441ce328c7 Merge pull request #255 from letsencrypt/202-ocsp-responder
Issue #202: Initial OCSP Responder
2015-05-30 13:10:50 -04:00
James 'J.C.' Jones 69967524cb Merge pull request #256 from letsencrypt/misc-fixes
Misc fixes
2015-05-29 07:15:13 -07:00
Roland Shoemaker 8846fd2c90 Merge upstream/master 2015-05-29 09:36:46 +01:00
Jacob Hoffman-Andrews ee57874d03 Misc fixes
Actually return error from NewCertificate in RA.
Export BOULDER_CONFIG in start.sh so it gets used.
Print error properly in test.js.
2015-05-29 00:09:55 -07:00
J.C. Jones 1008bd824d WIP on issue #202: OCSP Responder work 2015-05-28 23:11:03 -07:00
J.C. Jones d1321f2d78 More RPC fixes for Issue #202
- NewPendingAuthorization now uses a core.Authorization object, so
  that foreign key constraints are followed
- core.Authorization now serializes RegistrationID to JSON, so it has to get
  blanked out in WFE before transmission to client.
- Remove ParsedCertificate from core.Certificate, as type x509.Certificate cannot
  be marshaled.
- Added AssertDeepEquals and AssertMarhsaledEquals to test-tools.go
- Caught several overloaded and misleadingly named errors in WFE
2015-05-28 11:05:55 -07:00
Roland Shoemaker ce47e54180 add missing dep + fix test config 2015-05-28 12:24:47 +01:00
Roland Shoemaker ae1cf13be7 add config options for timeout + resolver address 2015-05-28 11:39:32 +01:00
J.C. Jones af0f8446eb Issue #202, Periodic OCSP Signer Tool
- Move dbMap construction and type converter into individual files in the sa package.
- Add DB configuration for the OCSP tool to the boulder config:
  - left to the user if they want to use different boulder-config.json files
    for different purposes.
- Added updater to Makefile
- Fix trailing ',' in the Boulder config, add more panic logging
- Ignore .pem files produced by the integration test
- Change RPC to use per-instance named reply-to queues.
- Finish OCSP Updater logic
- Rework RPC for OCSP to use a transfer object (due to serialization problems of x509.Certificate)
2015-05-27 22:01:29 -07:00
J.C. Jones 343920cfe3 Fix integration test while running with MySQL
- Add SQL configuration options
- Increase the width of the authz and pending_authz tables' challenges field
- Make it configurable whether CREATE TABLE commands should run
2015-05-27 13:39:18 -07:00
J.C. Jones f15da06af7 Issue #238 - MySql column width too narrow
- Added SQL debug logging (SA option: "SQLDebug")
- Added timestamps to the log prints to stdout
- Ignore *.pem in test/js
- Modified start.sh to support environment overrides for BOULDER_CONFIG, like the AMQP mode
- Changed boulder-test-config to open the server on the loopback device, so as to not cause firewall prompts on each integration test run for those of us being restrictive
- Renamed "key" column to "jwk" in DB, to avoid keyword conflict
- Set MaxLength on "jwk" column to 512
2015-05-27 12:12:41 -07:00
James 'J.C.' Jones 3dc9ca4097 Merge pull request #229 from letsencrypt/integration-fixes
Integration fixes
2015-05-26 16:34:45 -07:00
Jacob Hoffman-Andrews 71ef5c3ca4 Better cleanup in integration test. 2015-05-26 14:24:37 -07:00
Jacob Hoffman-Andrews eecdd91648 Fix some issues with expiry config field. 2015-05-26 14:12:18 -07:00
Jacob Hoffman-Andrews fc71c2540d Replace integration test with python version.
This allows better shutdown behavior.
2015-05-26 14:11:54 -07:00
Roland Shoemaker 461f03bb11 Merge remote-tracking branch 'upstream/master' into revoker 2015-05-25 01:25:42 +01:00
Roland Shoemaker 0ab71bed62 initial revoker work 2015-05-23 12:46:56 +01:00
James 'J.C.' Jones 4a92001a5f Merge pull request #215 from letsencrypt/client-test
Integration test using test.js
2015-05-22 16:34:43 -07:00
Jacob Hoffman-Andrews 442ede5bda Display non-JSON response bodies. 2015-05-22 10:30:26 -07:00
Roland Shoemaker 4a94dbf8b9 remove debug statements and make validity period a config var for CA 2015-05-21 23:30:29 -07:00
Jacob Hoffman-Andrews c1f3791b27 Fix some issues brought up by integration test 2015-05-21 17:25:56 -07:00
Jacob Hoffman-Andrews 153234204d Add an integration test using test.js
Include updates to test.js to make its output more useful as a diagnostic.

It remains a future TODO to do integration testing with the real letsencrypt
client.

Also, work around a go vet bug.
2015-05-21 16:51:40 -07:00
Roland Shoemaker 74ecad349b Merge upstream/master 2015-05-20 13:03:43 -07:00
Jacob Hoffman-Andrews 8dd4c650bd Disallow GETs for Registration.
Per the spec, authenticated requests must be signed by an account key, and
GET requests can't be signed under the current protocol. If the account holder
wishes to fetch their current registration, they can do so by posting a signed,
empty update to their registration resource.

Also fix a bug in generating registration URLs.
2015-05-19 12:44:04 -07:00
Roland Shoemaker 870f02917c check subscriber agreement in new/updated registrations 2015-05-18 20:56:51 -07:00
Richard Barnes c3b312118e Add audit logging
- Auditing for general errors in executables
- Auditing for improper messages received by WFE
- Automatic audit wlogging of software errors
- Audit logging for mis-routed messages
- Audit logging for certificate requests
- Auditing for improper messages received by WFE
- Add audit events table
- Expect more details in TestRegistration in web-front-end_test.go
- Remove "extra" debug details from web-front-end.go per Issue #174
- Improve test coverage of web-front-end.go
- WFE audit updates for revocation support rebase
- Add audit messages to RPC for Improper Messages and Error Conditions
- Also note misrouted messages
2015-05-18 18:23:08 -07:00
Jacob Hoffman-Andrews 61be79e51d Check that cert key != account key. 2015-05-18 15:20:02 -07:00
Jacob Hoffman-Andrews d4b0719d78 Add revoke.js to test revocation. 2015-05-14 15:54:12 -07:00
Jacob Hoffman-Andrews aa8c20f84a Fixes in response to review feedback. 2015-05-13 17:36:39 -07:00
Jacob Hoffman-Andrews 3eed9e3f7c Move to Square's go-jose library. 2015-05-13 17:36:38 -07:00
Roland Shoemaker 771d6d9b6d add serial conv. functions and basic tests 2015-05-06 16:07:19 -07:00
Jacob Hoffman-Andrews ac78f333f8 Merge branch 'master' into ocsp-table
Conflicts:
	ca/certificate-authority.go
	ca/certificate-authority_test.go
	cmd/boulder-ca/main.go
	cmd/boulder/main.go
	sa/storage-authority.go
	sa/storage-authority_test.go
2015-05-02 11:10:05 -07:00
Peter Eckersley d609aebc3f Some NewToken tests 2015-05-01 22:03:59 -07:00
J.C. Jones e828c61818 Add singleton semantics to Audit Logger, per Issue #135
- Update tests to use the singleton logger
- Update commands to set the audit logger singleton
- Formatting updates to the tests (go fmt)
2015-05-01 21:48:24 -07:00
Jacob Hoffman-Andrews 7733793bb6 Fix test mode boulder instances.
Update initialization stanza.
Revert to inmemory sqlite storage for now.
Remove NOT NULL constraint from some fields.
2015-05-01 19:28:10 -07:00
Jacob Hoffman-Andrews 8162c5eca8 Add comma to boulder test config. 2015-05-01 19:08:00 -07:00
Jacob Hoffman-Andrews 53b991f204 Incorporate JC changes to test-tools.go. 2015-05-01 16:09:35 -07:00
Jacob Hoffman-Andrews 8e30ff81fb Partly done implementation of revoke. 2015-04-29 18:36:26 -07:00
Jacob Hoffman-Andrews dd58bdcaa1 Merge branch 'master' into schema-updates
Conflicts:
	sa/storage-authority.go
2015-04-27 17:21:31 -07:00
Jacob Hoffman-Andrews eecf4b305e Add instructions and clarify openssl command line. 2015-04-27 15:50:44 -07:00
Jacob Hoffman-Andrews f81b531abb Fix incorrect request.post invocation.
Also tidy up some error cases and variable names.
2015-04-27 14:47:34 -07:00
Jacob Hoffman-Andrews a59323bfaa Fix key generation in test.js.
Also be more lenient about validating inbound challenge requests when talking to
a localhost Boulder.
2015-04-27 11:43:28 -07:00
Jacob Hoffman-Andrews 6fc9ed5b80 Use openssl to generate test.js key, for speed. 2015-04-24 19:11:51 -07:00
Jacob Hoffman-Andrews 14511361e4 Handle challenges within test.js 2015-04-24 18:39:47 -07:00
Jacob Hoffman-Andrews 2edb869086 Improve test.js.
Use request instead of http so it works with either HTTP or HTTPS URLs.
Write DER certificate rather than PEM certificate. I was getting some bytewise
mismatches when checking the output PEM against a downloaded DER.
2015-04-24 12:40:37 -07:00
Jacob Hoffman-Andrews ca6e349906 Fix tests. 2015-04-23 20:06:17 -07:00
Jacob Hoffman-Andrews 7145207104 Add initial certificate status in SA.
Also improve test tools.
2015-04-23 19:52:34 -07:00
jsha ba622d4cdb Merge pull request #105 from letsencrypt/certificate-query
Certificate query by serial
2015-04-21 12:06:55 -04:00
James 'J.C.' Jones 362f46c9fd Merge pull request #104 from rolandshoemaker/mailer
Simple Mailer
2015-04-19 22:57:06 -05:00
Jacob Hoffman-Andrews 7d8ef9a019 Fix tests and tidy up for review. 2015-04-18 23:44:42 -04:00
Jacob Hoffman-Andrews 431ad092eb Query certs by sequential part of serial number.
Also refactor WFE for better initialization and change StorageAuthority to
support this type of query.
2015-04-18 00:48:19 -04:00
Roland Shoemaker 3a456d8705 add config section for smtp settings 2015-04-17 18:37:13 -07:00
Jacob Hoffman-Andrews 757d8616cc Update latest CFSSL to pick up whitelisting. 2015-04-17 11:42:38 -04:00
Jacob Hoffman-Andrews 69d4ec5a50 Turn on UseSerialSeq in test config. 2015-04-16 15:50:11 -04:00
Jacob Hoffman-Andrews c982aa756c Fix cfssl-config.json 2015-04-16 14:25:51 -04:00
Jacob Hoffman-Andrews 43877197b0 Whitelist certificate fields rather than Subject
in cfssl.
2015-04-15 18:33:25 -04:00
jsha cb615e86c6 Merge pull request #90 from letsencrypt/85-relational_db_in_ca
Add Relational DB support to CA (Issue #85)
2015-04-15 16:31:52 -04:00
J.C. Jones b5377616e8 Implement serial use in CA
- Upstream CFSSL update broke a test in certificate-authority_test.go
  See https://github.com/cloudflare/cfssl/issues/156
- Added "SerialPrefix" to config, letting you set a prefix to the generated
  serial numbers.
2015-04-13 16:24:35 -07:00
Roland Shoemaker ed4a147737 fix conflict 2015-04-12 21:55:01 -07:00
Roland Shoemaker f64665cd1b better statsd hooks 2015-04-12 18:02:00 -07:00
J.C. Jones 97b356fcd4 Add a Certificate Authority Database stub
* A few tests, but they don't all pass
* needs actual DB code
2015-04-12 08:10:28 -07:00
Jacob Hoffman-Andrews ce679a55d4 Update readme for test directory. 2015-04-10 16:58:50 -07:00
Jacob Hoffman-Andrews e9302f2288 Make it easier to start a test config. 2015-04-09 18:26:40 -07:00
Jacob Hoffman-Andrews c9fbc82883 Fix encoding of errors in WFE.
This fixes the problem Kuba reported on IRC of receiving messages like:
[123 34 100 101 116 97 105 108 34 58 34 77 101 116 104 111 100 32 110 111 116 32
97 108 108 111 119 101 100 34 125]

from Boulder.

This changelist also adds the beginning of a test to WFE, but much more is
needed.
2015-03-27 20:49:37 -07:00
Peter Eckersley 5eac0cda09 Add a "TestMode" config option
This makes the same change as PR #59, but allows test mode to be turned
back on with a config option.
2015-03-25 12:58:57 -07:00
J.C. Jones 33ac212b70 Add logging infrastructure to all authorities and commands 2015-03-24 19:06:11 -07:00
J.C. Jones 151274f1b3 Rework audit logging. Issue #23. 2015-03-24 17:36:26 -07:00
Richard Barnes 5a6fdfc522 Moving example to /test/ 2015-03-21 23:20:54 -05:00
Richard Barnes b5d67c733a Addressing JCJ comments 2015-03-17 10:17:21 -04:00
Richard Barnes 19fada5b27 Support for subscriber agreement 2015-03-15 23:47:55 -04:00
Richard Barnes bc583a0df3 Simple walkthrough node.js script 2015-03-15 22:56:46 -04:00
Richard Barnes dcdf9954ae Pulling out sa module 2015-03-10 15:21:50 -07:00