Merge lp://staging/~cmars/juju-core/ecdsa-tls into lp://staging/~go-bot/juju-core/trunk
Status: | Work in progress |
---|---|
Proposed branch: | lp://staging/~cmars/juju-core/ecdsa-tls |
Merge into: | lp://staging/~go-bot/juju-core/trunk |
Diff against target: |
1183 lines (+535/-165) 19 files modified
agent/agent.go (+6/-0) agent/agent_test.go (+36/-9) agent/bootstrap_test.go (+6/-0) agent/format-1.18.go (+6/-0) agent/format_whitebox_test.go (+6/-4) agent/identity_test.go (+2/-0) agent/mongo/mongo.go (+2/-2) agent/mongo/mongo_test.go (+1/-1) cert/cert.go (+214/-35) cert/cert_test.go (+201/-79) cmd/jujud/agent_test.go (+6/-4) cmd/jujud/bootstrap_test.go (+6/-4) environs/cloudinit.go (+9/-3) environs/cloudinit/cloudinit_test.go (+6/-4) environs/config/config.go (+1/-1) environs/config/config_test.go (+1/-1) state/api/params/params.go (+6/-4) testing/cert.go (+19/-13) testing/mgo.go (+1/-1) |
To merge this branch: | bzr merge lp://staging/~cmars/juju-core/ecdsa-tls |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Juju Engineering | Pending | ||
Review via email: mp+219230@code.staging.launchpad.net |
Description of the change
ECDSA TLS cert support, default for new certs
ECDSA P-256 provides an equivalent to 128-bits of security, an improvement
over RSA-1024 (equivalent to 80-bits of security)[1].
Provided benchmarks indicate that a P-256 TLS handshake incurs a 3ms increase
in CPU time over RSA-1024 (about 48%). However, RSA-2048 (still weaker
than P-256) incurs a 90% increase in CPU time for a TLS handshake.
PASS: cert_test.go:172: certSuite.
9425053 ns/op
PASS: cert_test.go:185: certSuite.
200 9396808 ns/op
PASS: cert_test.go:146: certSuite.
6355974 ns/op
PASS: cert_test.go:159: certSuite.
12092335 ns/op
[1] http://
Table 2, p. 64
Unmerged revisions
- 2725. By Casey Marshall
-
Using RSA keys pending further compatibility testing.
Certificate creation functions for using default key options or specifying
them. - 2724. By Casey Marshall
-
Merge latest trunk.
- 2723. By Casey Marshall
-
Merge with latest trunk.
- 2722. By Casey Marshall
-
Use randomly unique certificate serial numbers.
Comment on why MaxPathLen comes back -1. - 2721. By Casey Marshall
-
Update errgo to errors.
- 2720. By Casey Marshall
-
Fast-forward merge w/trunk
- 2719. By Casey Marshall
-
Fast forward merge w/trunk
- 2718. By Casey Marshall
-
Fast-forward merge w/lp:juju-core.
- 2717. By Casey Marshall
-
Setting SubjectKeyId per RFC 3280 recommendations.
- 2716. By Casey Marshall
-
Add support for specifying certificate signature algorithm.
Add TLS handshake benchmarks.
Reviewers: mp+219230_ code.launchpad. net,
Message:
Please take a look.
Description:
ECDSA TLS cert support, default for new certs
ECDSA P-256 provides an equivalent to 128-bits of security, an
improvement
over RSA-1024 (equivalent to 80-bits of security)[1].
Provided benchmarks indicate that a P-256 TLS handshake incurs a 3ms
increase
in CPU time over RSA-1024 (about 48%). However, RSA-2048 (still weaker
than P-256) incurs a 90% increase in CPU time for a TLS handshake.
PASS: cert_test.go:172: certSuite. BenchmarkEcdsa2 56Handshake 200 BenchmarkEcdsa2 56Sha256Handsha ke BenchmarkRsa102 4Handshake 500 BenchmarkRsa204 8Handshake 100
9425053 ns/op
PASS: cert_test.go:185: certSuite.
200 9396808 ns/op
PASS: cert_test.go:146: certSuite.
6355974 ns/op
PASS: cert_test.go:159: certSuite.
12092335 ns/op
[1] csrc.nist. gov/publication s/nistpubs/ 800-57/ sp800-57_ part1_rev3_ general. pdf,
http://
Table 2, p. 64
https:/ /code.launchpad .net/~cmars/ juju-core/ ecdsa-tls/ +merge/ 219230
(do not edit description out of merge proposal)
Please review this at https:/ /codereview. appspot. com/100400043/
Affected files (+475, -164 lines): _test.go 1.18.go whitebox_ test.go test.go mongo.go mongo_test. go agent_test. go bootstrap_ test.go cloudinit. go cloudinit/ cloudinit_ test.go config/ config. go config/ config_ test.go httpstorage/ backend. go params/ params. go rsyslog/ worker. go
A [revision details]
M agent/agent.go
M agent/agent_test.go
M agent/bootstrap
M agent/format-
M agent/format_
M agent/identity_
M agent/mongo/
M agent/mongo/
M cert/cert.go
M cert/cert_test.go
M cmd/jujud/
M cmd/jujud/
M environs/
M environs/
M environs/
M environs/
M environs/
M environs/open.go
M state/api/
M testing/cert.go
M testing/mgo.go
M worker/