Skip to content

Instantly share code, notes, and snippets.

@btoews
Created May 24, 2017 16:28
Show Gist options
  • Save btoews/3fbb84a9fc482a0fae11c8bacc9d4d3a to your computer and use it in GitHub Desktop.
Save btoews/3fbb84a9fc482a0fae11c8bacc9d4d3a to your computer and use it in GitHub Desktop.
Test output using OpenSSL::PKey::EC
$ bundle exec rake
/Users/mastahyeti/.rbenv/versions/2.3.3/bin/ruby -I/Users/mastahyeti/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rspec-core-3.6.0/lib:/Users/mastahyeti/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rspec-support-3.6.0/lib /Users/mastahyeti/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rspec-core-3.6.0/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
Randomized with seed 47449
Acme::Client::SelfSignCertificate
sets the certificates version (FAILED - 1)
sets the certificates serial number (FAILED - 2)
generate a self sign certificate
generate a self sign certificate from a provided private key (FAILED - 3)
Acme::Client::Resources::Challenges::TLSSNI01
returns the correct certificate (FAILED - 4)
#verify
fail to verify the challenge and return the status (FAILED - 5)
successfully verify the challenge (FAILED - 6)
Acme::Client::JWK
Acme::Client::JWK::RSA
#jwt
generates a valid JWT
#sign
returns a String
#to_h
returns a Hash
#to_json
returns a String
#jwa_alg
returns a String
Acme::Client::JWK::ECDSA
#jwt
generates a valid JWT (FAILED - 7)
#jwa_alg
returns a String
#to_json
returns a String
#sign
returns a String (FAILED - 8)
#to_h
returns a Hash
Acme::Client::Resources::Challenges::DNS01
successfully verify the challenge
fail to verify the challenge and return the status (FAILED - 9)
returns the correct record metadata (FAILED - 10)
Acme::Client::CertificateRequest
expects a domain
reads the common name from the subject
adds other valid attributes to the subject
checks consistency of given common names
supports ECDSA keys
doesn't modify the given subject
assigns the public key
signs the request with the private key
does not create a subjectAltName extension with a single domain
sets the subject common name from the parameter
adds the common name to the names
normalizes the subject to OpenSSL short names
creates a subjectAltName extension with multiple names
picks a single domain as the common name
disallows arbitrary subject keys
adds the common name to the subject
picks the common name from the names
Acme::Client::Resources::Challenges::HTTP01
returns the correct metadata (FAILED - 11)
#verify
successfully verify the challenge
fail to verify the challenge and return the status (FAILED - 12)
Acme::Client::Resources::Registration
#agree_terms
send the agreement for the terms (FAILED - 13)
#get_terms
returns the TOS term (FAILED - 14)
Acme::Client::Resources::Authorization
returns the correct metadata (FAILED - 15)
#dns01
returns a DNS01 object
#http01
returns a HTTP01 object
Acme::Client
#fetch_authorization
succeed (FAILED - 16)
#revoke_certificate
revoke a certificate fail when using an unknown key (FAILED - 17)
revoke a certificate successfully with the certificate key (FAILED - 18)
revoke a certificate successfully with the account key (FAILED - 19)
#authorize
fail when the domain is not valid (FAILED - 20)
fail when the client receive an error without a type (FAILED - 21)
fail when the client has not yet agree to the tos (FAILED - 22)
succeed
#new_certificate
retrieve a new certificate successfully (FAILED - 23)
retrieve a new certificate successfully using a CertificateRequest (FAILED - 24)
#register
register successfully (FAILED - 25)
fail to register with an invalid contact (FAILED - 26)
fail to register a key that is already registered (FAILED - 27)
connection_options
fails with a timeout
passes the connection options to faraday
generic errors
raises on error with a non jose+json body (FAILED - 28)
Failures:
1) Acme::Client::SelfSignCertificate sets the certificates version
Failure/Error: certificate.sign(private_key, digest)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d32990 @group=nil>
Did you mean? private_key?
# ./lib/acme/client/self_sign_certificate.rb:23:in `sign'
# ./lib/acme/client/self_sign_certificate.rb:23:in `certificate'
# ./spec/self_sign_certificate_spec.rb:20:in `block (2 levels) in <top (required)>'
2) Acme::Client::SelfSignCertificate sets the certificates serial number
Failure/Error: certificate.sign(private_key, digest)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d328a0 @group=nil>
Did you mean? private_key?
# ./lib/acme/client/self_sign_certificate.rb:23:in `sign'
# ./lib/acme/client/self_sign_certificate.rb:23:in `certificate'
# ./spec/self_sign_certificate_spec.rb:26:in `block (2 levels) in <top (required)>'
3) Acme::Client::SelfSignCertificate generate a self sign certificate from a provided private key
Failure/Error: certificate.sign(private_key, digest)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d32788 @group=nil>
Did you mean? private_key?
# ./lib/acme/client/self_sign_certificate.rb:23:in `sign'
# ./lib/acme/client/self_sign_certificate.rb:23:in `certificate'
# ./spec/self_sign_certificate_spec.rb:13:in `block (2 levels) in <top (required)>'
4) Acme::Client::Resources::Challenges::TLSSNI01 returns the correct certificate
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d32698>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/tls_sni_01_spec.rb:6:in `block (2 levels) in <top (required)>'
# ./spec/tls_sni_01_spec.rb:13:in `block (2 levels) in <top (required)>'
5) Acme::Client::Resources::Challenges::TLSSNI01#verify fail to verify the challenge and return the status
Failure/Error:
expect {
expect(tls_sni01.request_verification).to be(true)
}.to_not raise_error
expected no Exception, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d325a8>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/tls_sni_01_spec.rb:6:in `block (2 levels) in <top (required)>'
# ./spec/tls_sni_01_spec.rb:39:in `block (5 levels) in <top (required)>'
# ./spec/tls_sni_01_spec.rb:38:in `block (4 levels) in <top (required)>'
# ./spec/support/tls_helper.rb:5:in `listen_tls'
# ./spec/tls_sni_01_spec.rb:37:in `block (3 levels) in <top (required)>'
# ./spec/tls_sni_01_spec.rb:38:in `block (4 levels) in <top (required)>'
# ./spec/support/tls_helper.rb:5:in `listen_tls'
# ./spec/tls_sni_01_spec.rb:37:in `block (3 levels) in <top (required)>'
6) Acme::Client::Resources::Challenges::TLSSNI01#verify successfully verify the challenge
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d324b8>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/tls_sni_01_spec.rb:6:in `block (2 levels) in <top (required)>'
# ./spec/tls_sni_01_spec.rb:19:in `block (3 levels) in <top (required)>'
7) Acme::Client::JWK Acme::Client::JWK::ECDSA#jwt generates a valid JWT
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d31ab8>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./spec/jwk_spec.rb:84:in `block (4 levels) in <top (required)>'
8) Acme::Client::JWK Acme::Client::JWK::ECDSA#sign returns a String
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d31798>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./spec/jwk_spec.rb:72:in `block (4 levels) in <top (required)>'
9) Acme::Client::Resources::Challenges::DNS01 fail to verify the challenge and return the status
Failure/Error:
expect {
expect(dns01.request_verification).to be(true)
}.to_not raise_error
expected no Exception, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d31568>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/dns_01_spec.rb:6:in `block (2 levels) in <top (required)>'
# ./spec/dns_01_spec.rb:34:in `block (3 levels) in <top (required)>'
# ./spec/dns_01_spec.rb:33:in `block (2 levels) in <top (required)>'
# ./spec/dns_01_spec.rb:33:in `block (2 levels) in <top (required)>'
10) Acme::Client::Resources::Challenges::DNS01 returns the correct record metadata
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d31478>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/dns_01_spec.rb:6:in `block (2 levels) in <top (required)>'
# ./spec/dns_01_spec.rb:13:in `block (2 levels) in <top (required)>'
11) Acme::Client::Resources::Challenges::HTTP01 returns the correct metadata
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d30730>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/http_01_spec.rb:6:in `block (2 levels) in <top (required)>'
# ./spec/http_01_spec.rb:13:in `block (2 levels) in <top (required)>'
12) Acme::Client::Resources::Challenges::HTTP01#verify fail to verify the challenge and return the status
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d305c8>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/http_01_spec.rb:6:in `block (2 levels) in <top (required)>'
# ./spec/http_01_spec.rb:35:in `block (3 levels) in <top (required)>'
13) Acme::Client::Resources::Registration#agree_terms send the agreement for the terms
Failure/Error: expect { registration.agree_terms }.to_not raise_error
expected no Exception, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d304b0>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/registration_spec.rb:5:in `block (2 levels) in <top (required)>'
# ./spec/registration_spec.rb:9:in `block (4 levels) in <top (required)>'
# ./spec/registration_spec.rb:9:in `block (3 levels) in <top (required)>'
# ./spec/registration_spec.rb:9:in `block (3 levels) in <top (required)>'
14) Acme::Client::Resources::Registration#get_terms returns the TOS term
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d30398>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/registration_spec.rb:5:in `block (2 levels) in <top (required)>'
# ./spec/registration_spec.rb:15:in `block (3 levels) in <top (required)>'
15) Acme::Client::Resources::Authorization returns the correct metadata
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d302a8>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/authorization_spec.rb:6:in `block (2 levels) in <top (required)>'
# ./spec/authorization_spec.rb:11:in `block (2 levels) in <top (required)>'
# ./spec/authorization_spec.rb:14:in `block (2 levels) in <top (required)>'
16) Acme::Client#fetch_authorization succeed
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d30140>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:15:in `block (2 levels) in <top (required)>'
# ./spec/client_spec.rb:102:in `block (3 levels) in <top (required)>'
17) Acme::Client#revoke_certificate revoke a certificate fail when using an unknown key
Failure/Error: expect { bad_client.revoke_certificate(certificate) }.to raise_error(Acme::Client::Error::Unauthorized)
expected Acme::Client::Error::Unauthorized, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d30028>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:91:in `revoke_certificate'
# ./spec/client_spec.rb:208:in `block (4 levels) in <top (required)>'
# ./spec/client_spec.rb:208:in `block (3 levels) in <top (required)>'
# ./spec/client_spec.rb:208:in `block (3 levels) in <top (required)>'
18) Acme::Client#revoke_certificate revoke a certificate successfully with the certificate key
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2be38>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:186:in `block (3 levels) in <top (required)>'
19) Acme::Client#revoke_certificate revoke a certificate successfully with the account key
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2bcd0>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:186:in `block (3 levels) in <top (required)>'
20) Acme::Client#authorize fail when the domain is not valid
Failure/Error:
expect {
active_client.authorize(domain: 'notadomain.invalid')
}.to raise_error(Acme::Client::Error, /Error creating new authz/)
expected Acme::Client::Error with message matching /Error creating new authz/, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2bbe0>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:15:in `block (2 levels) in <top (required)>'
# ./spec/client_spec.rb:95:in `block (4 levels) in <top (required)>'
# ./spec/client_spec.rb:94:in `block (3 levels) in <top (required)>'
# ./spec/client_spec.rb:94:in `block (3 levels) in <top (required)>'
21) Acme::Client#authorize fail when the client receive an error without a type
Failure/Error:
expect {
registered_client.authorize(domain: 'example.org')
}.to raise_error(Acme::Client::Error)
expected Acme::Client::Error, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2baf0>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:9:in `block (2 levels) in <top (required)>'
# ./spec/client_spec.rb:89:in `block (4 levels) in <top (required)>'
# ./spec/client_spec.rb:88:in `block (3 levels) in <top (required)>'
# ./spec/client_spec.rb:88:in `block (3 levels) in <top (required)>'
22) Acme::Client#authorize fail when the client has not yet agree to the tos
Failure/Error:
expect {
registered_client.authorize(domain: 'example.org')
}.to raise_error(Acme::Client::Error, /Must agree to subscriber agreement before any further actions/)
expected Acme::Client::Error with message matching /Must agree to subscriber agreement before any further actions/, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2b9d8>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:9:in `block (2 levels) in <top (required)>'
# ./spec/client_spec.rb:83:in `block (4 levels) in <top (required)>'
# ./spec/client_spec.rb:82:in `block (3 levels) in <top (required)>'
# ./spec/client_spec.rb:82:in `block (3 levels) in <top (required)>'
23) Acme::Client#new_certificate retrieve a new certificate successfully
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2b898>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:129:in `block (3 levels) in <top (required)>'
24) Acme::Client#new_certificate retrieve a new certificate successfully using a CertificateRequest
Failure/Error: @private_key.sign(@digest.new, message)
NoMethodError:
undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2b780>
Did you mean? private_key?
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:129:in `block (3 levels) in <top (required)>'
25) Acme::Client#register register successfully
Failure/Error:
expect {
registration = unregistered_client.register(contact: %w(mailto:cert-admin@example.com tel:+15145552222))
expect(registration).to be_a(Acme::Client::Resources::Registration)
}.to_not raise_error
expected no Exception, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2b668>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:55:in `block (4 levels) in <top (required)>'
# ./spec/client_spec.rb:54:in `block (3 levels) in <top (required)>'
# ./spec/client_spec.rb:54:in `block (3 levels) in <top (required)>'
26) Acme::Client#register fail to register with an invalid contact
Failure/Error:
expect {
unregistered_client.register(contact: %w(mailto:not-valid))
}.to raise_error(Acme::Client::Error, /not a valid e-mail address/)
expected Acme::Client::Error with message matching /not a valid e-mail address/, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2b578>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:62:in `block (4 levels) in <top (required)>'
# ./spec/client_spec.rb:61:in `block (3 levels) in <top (required)>'
# ./spec/client_spec.rb:61:in `block (3 levels) in <top (required)>'
27) Acme::Client#register fail to register a key that is already registered
Failure/Error:
expect {
registered_client.register(contact: %w(mailto:cert-admin@example.com tel:+15145552222))
}.to raise_error(Acme::Client::Error, /Registration key is already in use/)
expected Acme::Client::Error with message matching /Registration key is already in use/, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2b438>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:9:in `block (2 levels) in <top (required)>'
# ./spec/client_spec.rb:68:in `block (4 levels) in <top (required)>'
# ./spec/client_spec.rb:67:in `block (3 levels) in <top (required)>'
# ./spec/client_spec.rb:67:in `block (3 levels) in <top (required)>'
28) Acme::Client generic errors raises on error with a non jose+json body
Failure/Error:
expect {
active_client.agree_terms
}.to raise_error(Acme::Client::Error)
expected Acme::Client::Error, got #<NoMethodError: undefined method `private?' for #<OpenSSL::PKey::EC:0x007fe800d2b140>
Did you mean? private_key?> with backtrace:
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/ecdsa.rb:73:in `sign'
# ./lib/acme/client/jwk/base.rb:16:in `jws'
# ./lib/acme/client/faraday_middleware.rb:17:in `call'
# ./lib/acme/client.rb:56:in `register'
# ./spec/client_spec.rb:15:in `block (2 levels) in <top (required)>'
# ./spec/client_spec.rb:23:in `block (4 levels) in <top (required)>'
# ./spec/client_spec.rb:22:in `block (3 levels) in <top (required)>'
# ./spec/client_spec.rb:22:in `block (3 levels) in <top (required)>'
Finished in 0.54506 seconds (files took 0.75972 seconds to load)
61 examples, 28 failures
Failed examples:
rspec ./spec/self_sign_certificate_spec.rb:17 # Acme::Client::SelfSignCertificate sets the certificates version
rspec ./spec/self_sign_certificate_spec.rb:23 # Acme::Client::SelfSignCertificate sets the certificates serial number
rspec ./spec/self_sign_certificate_spec.rb:10 # Acme::Client::SelfSignCertificate generate a self sign certificate from a provided private key
rspec ./spec/tls_sni_01_spec.rb:12 # Acme::Client::Resources::Challenges::TLSSNI01 returns the correct certificate
rspec ./spec/tls_sni_01_spec.rb:34 # Acme::Client::Resources::Challenges::TLSSNI01#verify fail to verify the challenge and return the status
rspec ./spec/tls_sni_01_spec.rb:18 # Acme::Client::Resources::Challenges::TLSSNI01#verify successfully verify the challenge
rspec ./spec/jwk_spec.rb:83 # Acme::Client::JWK Acme::Client::JWK::ECDSA#jwt generates a valid JWT
rspec ./spec/jwk_spec.rb:71 # Acme::Client::JWK Acme::Client::JWK::ECDSA#sign returns a String
rspec ./spec/dns_01_spec.rb:32 # Acme::Client::Resources::Challenges::DNS01 fail to verify the challenge and return the status
rspec ./spec/dns_01_spec.rb:12 # Acme::Client::Resources::Challenges::DNS01 returns the correct record metadata
rspec ./spec/http_01_spec.rb:12 # Acme::Client::Resources::Challenges::HTTP01 returns the correct metadata
rspec ./spec/http_01_spec.rb:34 # Acme::Client::Resources::Challenges::HTTP01#verify fail to verify the challenge and return the status
rspec ./spec/registration_spec.rb:8 # Acme::Client::Resources::Registration#agree_terms send the agreement for the terms
rspec ./spec/registration_spec.rb:14 # Acme::Client::Resources::Registration#get_terms returns the TOS term
rspec ./spec/authorization_spec.rb:13 # Acme::Client::Resources::Authorization returns the correct metadata
rspec ./spec/client_spec.rb:101 # Acme::Client#fetch_authorization succeed
rspec ./spec/client_spec.rb:207 # Acme::Client#revoke_certificate revoke a certificate fail when using an unknown key
rspec ./spec/client_spec.rb:203 # Acme::Client#revoke_certificate revoke a certificate successfully with the certificate key
rspec ./spec/client_spec.rb:199 # Acme::Client#revoke_certificate revoke a certificate successfully with the account key
rspec ./spec/client_spec.rb:93 # Acme::Client#authorize fail when the domain is not valid
rspec ./spec/client_spec.rb:87 # Acme::Client#authorize fail when the client receive an error without a type
rspec ./spec/client_spec.rb:81 # Acme::Client#authorize fail when the client has not yet agree to the tos
rspec ./spec/client_spec.rb:142 # Acme::Client#new_certificate retrieve a new certificate successfully
rspec ./spec/client_spec.rb:157 # Acme::Client#new_certificate retrieve a new certificate successfully using a CertificateRequest
rspec ./spec/client_spec.rb:53 # Acme::Client#register register successfully
rspec ./spec/client_spec.rb:60 # Acme::Client#register fail to register with an invalid contact
rspec ./spec/client_spec.rb:66 # Acme::Client#register fail to register a key that is already registered
rspec ./spec/client_spec.rb:21 # Acme::Client generic errors raises on error with a non jose+json body
Randomized with seed 47449
/Users/mastahyeti/.rbenv/versions/2.3.3/bin/ruby -I/Users/mastahyeti/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rspec-core-3.6.0/lib:/Users/mastahyeti/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rspec-support-3.6.0/lib /Users/mastahyeti/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rspec-core-3.6.0/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment