Commit Graph

1749 Commits

Author SHA1 Message Date
Jacob Hoffman-Andrews f6c21120b0 Add OCSP testing to integration test. 2015-08-20 09:37:24 -07:00
Roland Shoemaker 213d857026 Initial cert checker work 2015-08-19 19:34:02 -07:00
Roland Shoemaker 5e50104d65 Update boulder-config.json 2015-08-15 16:58:33 -07:00
Roland Shoemaker 4fb747ead1 Merge master 2015-08-15 16:50:57 -07:00
Jeff Hodges 5e97aa23c6 use MariaDB in the unit tests
And delete the uses of sqlite3
2015-08-14 17:13:15 -07:00
Roland Shoemaker 60478f13b0 Merge master 2015-08-14 16:46:09 -07:00
Jeff Hodges ae5fa728ea always set parseTime to true
There's no reason to not just enforce it in the code completely and not
worry about it elsewhere. If we need to extract code out of NewDbMap,
we'd need recombineURLForDB in it, anyhow.
2015-08-13 22:45:33 -07:00
Jacob Hoffman-Andrews 64987a3639 Merge pull request #599 from letsencrypt/mysql
use MariaDB in integration tests and start.py
2015-08-11 20:31:46 -07:00
Jeff Hodges 86390e312b require mysql+tcp:// as the scheme for db conns 2015-08-11 20:17:35 -07:00
Roland Shoemaker 5540729b56 Finished policy-loader 2015-08-10 14:32:53 -07:00
Roland Shoemaker 6315068ead Merge master 2015-08-10 11:58:02 -07:00
Jeff Hodges b08e6e0bad use MariaDB in integration tests and start.py
This changes moves from using SQLite in the integration tests and in the
test/boulder-config.json.

It does not port the unit tests over, unfortunately. That's a much more
invasive change.

This also updates the Dockerfile to include the MariaDB and RabbitMQ
requirements of start.py as well as adjusts the CMD to expose the
boulder server to the host machine. The Dockerfile also needed to have
its Go version bumped and the test.sh had to grow some explict
"function"s.

Updates #132
2015-08-07 23:22:52 -07:00
Jacob Hoffman-Andrews bcfb935472 Fail startservers.py when compile fails. 2015-08-07 17:55:43 -07:00
Jeremy Gillula d9b1f3d453 Added enforcement of AMQPS. If the insecure flag is true, then we also require the URL to be AMQPS and the TLS config info to be set, otherwise we fail out. If insecure is true, then we don't check for anything else. 2015-08-07 14:04:12 -07:00
Roland Shoemaker eba0f8f4e2 Remove dangling monolith config section 2015-08-06 17:00:04 -07:00
Roland Shoemaker 1a2825138d Actually wire everything into the PADB 2015-08-06 16:57:38 -07:00
Jacob Hoffman-Andrews e0c23cd582 Add status code to test.js output. 2015-08-04 17:12:43 -07:00
bifurcation 46573e93a2 Merge pull request #497 from letsencrypt/update-challenges
Update challenges to match the spec
2015-07-30 15:06:32 -04:00
Richard Barnes 652702bd7f Merge master 2015-07-30 13:47:10 -04:00
Jakub Warmuz 64198ef3eb
Use dns-test-srv in integration tests (fixes #420). 2015-07-30 05:49:40 +00:00
Roland Shoemaker 726d59cb52 Merge master 2015-07-29 16:35:37 -07:00
bifurcation 9937cca513 Merge pull request #442 from letsencrypt/resource
Enforce "resource" field in request objects
2015-07-29 17:37:45 -04:00
bifurcation be80bc73bd Merge pull request #550 from letsencrypt/faster-startup
Speed up start.py and integration test.
2015-07-29 16:47:38 -04:00
Richard Barnes 5ea17d980a Merge master 2015-07-29 16:37:39 -04:00
Richard Barnes 2a7f755014 Make integration test pass with test.js 2015-07-29 15:04:14 -04:00
Jacob Hoffman-Andrews 9b20f0afaf Startservers.py: remove tempdir, add sys.exit 2015-07-29 11:15:01 -07:00
Richard Barnes eca5f1c123 Add new simpleHttp to integration test 2015-07-29 12:18:09 -04:00
Richard Barnes c996e0abca Integration test for 'resource' 2015-07-29 10:24:44 -04:00
Jacob Hoffman-Andrews 237f759ac9 Use go install for even more speed. 2015-07-28 18:29:39 -07:00
Jacob Hoffman-Andrews d69f97e954 Fix exception handling. 2015-07-28 18:11:52 -07:00
Jacob Hoffman-Andrews a4c4b473f1 Speed up start.py and integration test.
Run builds in parallell as well as starting servers in parallel.
Wait for the servers to come up, so tests don't start running too early.
Enable race detection only for the integration test, not for start.py.
Previously I'd suggested it should always be on, but after running with it for a
while I'm convinced it's too slow for start.py (but still very valuable for
integration tests!).
2015-07-28 18:07:22 -07:00
Jeff Hodges 20c0fd1ad4 remove recently mooted test files
These are no longer needed as of #533.
2015-07-28 13:21:50 -07:00
Roland Shoemaker fdc84c95f7 Update configs 2015-07-27 12:47:45 -07:00
Roland Shoemaker abd06564ec Merge branch 'master' into mailer 2015-07-27 12:46:19 -07:00
Roland Shoemaker 145790d9c3 Review fixes 2015-07-27 12:46:09 -07:00
Tom Clegg 2914ba6af5 Fix "main process kept alive forever by ToSServerThread." 2015-07-25 18:17:02 -04:00
Tom Clegg e6ca449d34 Bring up a stub ToS server in test scripts. 2015-07-25 16:21:40 -04:00
Tom Clegg e871b30cbf Shut down everything if any server exits before ^C/timer. Fixup log messages. 2015-07-25 15:59:38 -04:00
Tom Clegg 43c738cc93 Set GORACE env var only in "go build", not everywhere. 2015-07-25 14:51:22 -04:00
Tom Clegg de5cce8c03 De-duplicate start.py and test/amqp-integration-test.py 2015-07-25 04:04:20 -04:00
Roland Shoemaker bd9286dd5b Merge branch 'master' into mailer 2015-07-24 16:36:50 -07:00
Roland Shoemaker 19067da6a9 More tests 2015-07-24 16:36:03 -07:00
Jeff Hodges cfcd6dfc88 remove pkcs11 tag for build and test scripts
With #525 in place, we no longer need to worry about setting the pkcs11
tag everywhere.
2015-07-24 16:33:05 -07:00
Roland Shoemaker 7dc3328237 Add expiration template example 2015-07-23 15:36:14 -07:00
Roland Shoemaker 6c2f3ea8cc Merge branch 'master' into mailer 2015-07-23 15:33:43 -07:00
Roland Shoemaker b5f519d22d Rework how the expiration mailer looks for certificates 2015-07-23 15:33:28 -07:00
Roland Shoemaker bf0673c35f DNS config refactoring 2015-07-22 15:54:40 -07:00
Jacob Hoffman-Andrews 61394e4f2d Merge pull request #506 from letsencrypt/native-mx-lookup
Replace net.LookupMX use with core.LookupMX
2015-07-22 15:17:38 -07:00
Roland Shoemaker 31f0674f03 Replace net.LookupMX with core.LookupMX using defined resolver 2015-07-21 22:36:29 -07:00
Roland Shoemaker b093613191 Add cache helper methods and always send static cache max-age 2015-07-21 18:21:48 -07:00
Roland Shoemaker 0e83538b56 Merge master 2015-07-21 17:48:19 -07:00
Jacob Hoffman-Andrews 8e94f9feb1 Merge pull request #467 from tomclegg/master
Dry up "method not allowed" error handling.
2015-07-20 13:31:49 -07:00
Roland Shoemaker b569e6aa3d Review fixes 2015-07-20 11:27:40 -07:00
Roland Shoemaker 3fecf06cba Typo 2015-07-17 22:32:08 -07:00
Roland Shoemaker 8ad357cffd Copyright header and cleanup 2015-07-17 22:29:39 -07:00
Roland Shoemaker 77ee133c0e Add tiny DNS server for client integration tests! 2015-07-17 21:53:30 -07:00
Roland Shoemaker 6a2344e1bf Add config vars and wire them into cmd/boulder and cmd/boulder-wfe 2015-07-17 17:44:03 -07:00
Jeff Hodges fba5743f29 correct config syntax 2015-07-17 12:35:29 -07:00
Jeff Hodges 47d9d7376d add debug server config for the monolithic boulder
Fixes #482
2015-07-17 12:33:50 -07:00
Tom Clegg ff491962b9 Dry up "method not allowed" handling. 2015-07-16 22:07:44 -04:00
J.C. Jones c16ec5f7b6 Don't forget the AM in configuration examples 2015-07-16 14:41:03 -07:00
Jeff Hodges 24217f1cba run tests in CI with the race detector on
The race detector has found at least one race in our current code. See
issue #465. Turn it on for the unit and integration tests running in
TravisCI.

Also, allow the local user to add new test flags with the `GOTESTFLAGS`
environment variable.

To ease speed of debugging issues, the ability to skip the unit or
integration tests is also provided.
2015-07-16 09:43:11 -07:00
Jacob Hoffman-Andrews b69d09a6d0 Merge pull request #462 from letsencrypt/debug
add debug http server to services
2015-07-16 06:55:12 -07:00
Jeff Hodges ef54dda46a add debug http server to services
Currently, the debug http server in every service contains just the
net/http/pprof handlers. This allows us to get CPU, blocking, and memory
profiling remotely.

Along the way, remove all the places we use http.DefaultServeMux (which
includes use of http.Handle and http.HandlerFunc) and use a NewServeMux
for each place.

Fixes #457
2015-07-14 01:28:18 -07:00
Jeff Hodges c110468366 harden test.sh and amqp-integration-test.py
amqp-integration-test.py gains a way to print out what processes
failed to start.

test.sh gains:

  * the ability to continue the build correctly if
LETSENCRYPT_PATH was provided but does not exist on disk.
  * an explanatory exit message if the LETSENCRYPT_PATH does
exist, but there is not finished build in it.
  * a working detection for a python 2.7 binary on OS X
2015-07-13 17:02:25 -07:00
Jeff Hodges 79d9b52ad0 rename dbName to dbConnect
The configuration is actually a connection string, not a database name,
and it was a bit confusing.
2015-07-10 16:17:27 -07:00
Jacob Hoffman-Andrews e2791eb085 Merge pull request #438 from letsencrypt/401-va_mock_dns
Don't use external DNS resolver in tests
2015-07-08 16:59:23 -07:00
Jacob Hoffman-Andrews 8f475a049e Merge pull request #409 from letsencrypt/unotice
Fix User Notice policy qualifier
2015-07-08 14:07:14 -07:00
James 'J.C.' Jones dc7e21bee2 Merge pull request #422 from letsencrypt/419_travis_details
Issue #419 - Provide more details from Travis on PRs.
2015-07-08 11:57:53 -07:00
Roland Shoemaker f6248ef279 Flesh out DNS mock methods, and move them to their own sub-module instead of under test/ to avoid import loop, Add Loopback DNS resolver for core/dns_test.go 2015-07-07 22:31:44 +01:00
J.C. Jones e4055e4646 WIP 2015-07-07 22:31:43 +01:00
Roland Shoemaker c233aa8e56 411 - Redirect /terms to wfe.SubscriberAgreementURL
- Rebased (jcjones)
2015-07-06 17:16:40 -07:00
Jacob Hoffman-Andrews dd19f0a529 Update cfssl to latest master.
Picks up fix for specifying User Notice policy qualifier.
Specify user notice in test configs.
2015-07-02 19:36:50 -07:00
J.C. Jones 2a649b4ab1 Rework per @rolandshoemaker & regenerated secret 2015-07-02 08:56:55 -07:00
J.C. Jones 4d3731ba73 Issue #419 - Provide more details from Travis on PRs.
This uses a node.js module to post `status` updates to Github, and uses a Travis
secret to authenticate.

- Post comments from static analysis tools
- Change to posting from LetsEncryptBot
- For integration testing, only fail if the compile fails, or
  the NodeJS-client fails. Log if the Python client fails.
2015-06-30 15:32:50 -07:00
Jakub Warmuz 596010968e
Pass SERVER to letsencrypt integration test, fix review comments. 2015-06-26 07:23:22 +00:00
Jakub Warmuz f8b3750c02
Run letsencrypt/tests/boulder-integration.sh from integration tests. 2015-06-26 06:32:10 +00:00
Jakub Warmuz 9e892b0773
integration tests: sync letsencrypt flags (config-dir/work-dir/logs-dir). 2015-06-26 05:36:15 +00:00
J.C. Jones ecf3cec9f6 Update execution of the integration test to match new parameters. 2015-06-25 15:05:51 -07:00
Richard Barnes c937d7e0a1 Fixing test failure 2015-06-23 23:44:06 -07:00
Richard Barnes 0b36fd1bd1 Turns out forge defaults to SHA-1 2015-06-23 22:23:23 -07:00
Richard Barnes 718920afa3 Enable the VA to send a user-agent header field. 2015-06-23 11:15:51 -07:00
J.C. Jones 503bbe4254 Rename the TLS configuration to "TLS" (from SSL... what was I thinking?) 2015-06-22 06:25:57 -07:00
Jacob Hoffman-Andrews ee4626aa0d Integration test runs without root. 2015-06-19 14:12:23 -07:00
William Budington 76d76d33cd Adding integration tests.
Travis:
  * Downloads the Let's Encrypt client
  * Installs system requirements for client
  * Sets up virtualenv

Dockerfile:
  * Buildout for development
  * Includes numerous pacakges needed for integration testing
    (including all of the above in Travis)

test.sh:
  * If no path is defined for the LE client
    * Download the Let's Encrypt client
    * Set up virtualenv

test/amqp-integration-test.py:
  * Run client test with sensible defaults
  * One test: auth for foo.com
2015-06-19 12:18:23 -07:00
J.C. Jones f95e9eaa83 Support TLS mutual authentication for AMQPS 2015-06-18 16:23:48 -07:00
Jacob Hoffman-Andrews 117d8d5878 Merge pull request #362 from letsencrypt/lint
Correct most `go lint` warnings. (274 -> 5)
2015-06-17 10:43:42 -07:00
Jacob Hoffman-Andrews 05f04709e9 Update cfssl dependency to latest master
Also, remove dependency on cfssl CLI binary, and transitive dependency cf-tls.
These are no longer necessary now that we use the local signer. And the cf-tls
dependency had drifted out of date, causing build issues when I updated cfssl to
master.
2015-06-17 09:26:52 -07:00
J.C. Jones 41f5788c77 Correct most `go lint` warnings. (274 -> 5) 2015-06-16 22:18:28 -05:00
Roland Shoemaker 2d2efa5e85 Merge pull request #356 from letsencrypt/remove-slash
Revoke path should not end in slash
2015-06-12 13:55:10 -07:00
Jacob Hoffman-Andrews 2b2f4110d4 Revoke path should not end in slash. 2015-06-12 13:26:43 -07:00
Roland Shoemaker f4ee29d1d3 Change all references from SimpleHTTPS -> SimpleHTTP 2015-06-12 11:22:04 -07:00
Roland Shoemaker c301125e93 Add TLS field to core.Challenge per spec 2015-06-11 17:12:50 -07:00
Roland Shoemaker b38ebe18fc Merge remote-tracking branch 'upstream/master' into better-caa 2015-06-10 15:57:05 -07:00
bifurcation 676ebf721f Merge pull request #325 from letsencrypt/anti-replay
Add an anti-replay nonce facility
2015-06-10 16:55:20 -04:00
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