cose 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +5 -6
- data/CHANGELOG.md +16 -1
- data/README.md +2 -2
- data/cose.gemspec +3 -3
- data/lib/cose/key.rb +13 -4
- data/lib/cose/key/rsa.rb +1 -1
- data/lib/cose/version.rb +1 -1
- metadata +11 -11
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 5cece173dd677644851673495e5ed8d9940683a19e435d1bdfeb7320676fc29a
         | 
| 4 | 
            +
              data.tar.gz: d2d7d17a2681bc98d5071f7fcecd1169c287cb6c120967772b69cfa0ac981cae
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f6ad46ff1820c19f0ec92305b8ac019082da03273cd2230fdc6e8031ec07f12bc79f678b2c451d69231305982bbc16551bc8b7996898912aba0f84d9bedce6fd
         | 
| 7 | 
            +
              data.tar.gz: 5652309b708b29c6cf51611d1f07214cd6d25b0ddfb34d22ebc8e25dbd1023c79914d1345d46fa9c1d991be5fe0c68cb4b2c4c489e2a37a61aeda966701767f5
         | 
    
        data/.travis.yml
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            dist: bionic
         | 
| 2 2 | 
             
            language: ruby
         | 
| 3 3 | 
             
            cache: bundler
         | 
| 4 4 |  | 
| 5 5 | 
             
            rvm:
         | 
| 6 6 | 
             
              - ruby-head
         | 
| 7 | 
            -
              - 2.7.0- | 
| 8 | 
            -
              - 2.6. | 
| 9 | 
            -
              - 2.5. | 
| 10 | 
            -
              - 2.4. | 
| 7 | 
            +
              - 2.7.0-preview3
         | 
| 8 | 
            +
              - 2.6.5
         | 
| 9 | 
            +
              - 2.5.7
         | 
| 10 | 
            +
              - 2.4.9
         | 
| 11 11 | 
             
              - 2.3.8
         | 
| 12 12 |  | 
| 13 13 | 
             
            gemfile:
         | 
| @@ -22,5 +22,4 @@ matrix: | |
| 22 22 | 
             
              fast_finish: true
         | 
| 23 23 | 
             
              allow_failures:
         | 
| 24 24 | 
             
                - rvm: ruby-head
         | 
| 25 | 
            -
                - rvm: 2.7.0-preview1
         | 
| 26 25 | 
             
                - gemfile: gemfiles/openssl_head.gemfile
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,5 +1,19 @@ | |
| 1 1 | 
             
            # Changelog
         | 
| 2 2 |  | 
| 3 | 
            +
            ## [v0.10.0] - 2019-12-19
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ### Added
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            - Works on ruby 2.7 without throwing any warnings
         | 
| 8 | 
            +
            - Simpler way to rescue key deserialization error, now possible to:
         | 
| 9 | 
            +
              ```rb
         | 
| 10 | 
            +
                begin
         | 
| 11 | 
            +
                  COSE::Key.deserialize(cbor)
         | 
| 12 | 
            +
                rescue COSE::KeyDeserializationError
         | 
| 13 | 
            +
                  # handle error
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
              ```
         | 
| 16 | 
            +
             | 
| 3 17 | 
             
            ## [v0.9.0] - 2019-08-31
         | 
| 4 18 |  | 
| 5 19 | 
             
            ### Added
         | 
| @@ -95,7 +109,8 @@ | |
| 95 109 | 
             
            - EC2 key object
         | 
| 96 110 | 
             
            - Works with ruby 2.5
         | 
| 97 111 |  | 
| 98 | 
            -
            [v0. | 
| 112 | 
            +
            [v0.10.0]: https://github.com/cedarcode/cose-ruby/compare/v0.9.0...v0.10.0/
         | 
| 113 | 
            +
            [v0.9.0]: https://github.com/cedarcode/cose-ruby/compare/v0.8.0...v0.9.0/
         | 
| 99 114 | 
             
            [v0.8.0]: https://github.com/cedarcode/cose-ruby/compare/v0.7.0...v0.8.0/
         | 
| 100 115 | 
             
            [v0.7.0]: https://github.com/cedarcode/cose-ruby/compare/v0.6.1...v0.7.0/
         | 
| 101 116 | 
             
            [v0.6.1]: https://github.com/cedarcode/cose-ruby/compare/v0.6.0...v0.6.1/
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 | 
            -
            # cose
         | 
| 1 | 
            +
            # cose-ruby
         | 
| 2 2 |  | 
| 3 | 
            -
            Ruby implementation of RFC 8152 CBOR Object Signing and Encryption (COSE)
         | 
| 3 | 
            +
            Ruby implementation of RFC [8152](https://tools.ietf.org/html/rfc8152) CBOR Object Signing and Encryption (COSE)
         | 
| 4 4 |  | 
| 5 5 | 
             
            [](https://rubygems.org/gems/cose)
         | 
| 6 6 | 
             
            [](https://travis-ci.org/cedarcode/cose-ruby)
         | 
    
        data/cose.gemspec
    CHANGED
    
    | @@ -35,9 +35,9 @@ Gem::Specification.new do |spec| | |
| 35 35 |  | 
| 36 36 | 
             
              spec.add_development_dependency "appraisal", "~> 2.2.0"
         | 
| 37 37 | 
             
              spec.add_development_dependency "bundler", ">= 1.17", "< 3"
         | 
| 38 | 
            -
              spec.add_development_dependency "byebug", " | 
| 39 | 
            -
              spec.add_development_dependency "rake", "~>  | 
| 38 | 
            +
              spec.add_development_dependency "byebug", "~> 11.0"
         | 
| 39 | 
            +
              spec.add_development_dependency "rake", "~> 13.0"
         | 
| 40 40 | 
             
              spec.add_development_dependency "rspec", "~> 3.8"
         | 
| 41 | 
            -
              spec.add_development_dependency "rubocop", "0. | 
| 41 | 
            +
              spec.add_development_dependency "rubocop", "0.75.1"
         | 
| 42 42 | 
             
              spec.add_development_dependency "rubocop-performance", "~> 1.4"
         | 
| 43 43 | 
             
            end
         | 
    
        data/lib/cose/key.rb
    CHANGED
    
    | @@ -8,7 +8,10 @@ require "cose/key/symmetric" | |
| 8 8 | 
             
            require "openssl"
         | 
| 9 9 |  | 
| 10 10 | 
             
            module COSE
         | 
| 11 | 
            -
              class  | 
| 11 | 
            +
              class Error < StandardError; end
         | 
| 12 | 
            +
              class KeyDeserializationError < Error; end
         | 
| 13 | 
            +
              class MalformedKeyError < KeyDeserializationError; end
         | 
| 14 | 
            +
              class UnknownKeyType < KeyDeserializationError; end
         | 
| 12 15 |  | 
| 13 16 | 
             
              module Key
         | 
| 14 17 | 
             
                def self.serialize(pkey)
         | 
| @@ -27,7 +30,7 @@ module COSE | |
| 27 30 | 
             
                end
         | 
| 28 31 |  | 
| 29 32 | 
             
                def self.deserialize(data)
         | 
| 30 | 
            -
                  map =  | 
| 33 | 
            +
                  map = cbor_decode(data)
         | 
| 31 34 |  | 
| 32 35 | 
             
                  case map[Base::LABEL_KTY]
         | 
| 33 36 | 
             
                  when COSE::Key::OKP::KTY_OKP
         | 
| @@ -39,10 +42,16 @@ module COSE | |
| 39 42 | 
             
                  when COSE::Key::Symmetric::KTY_SYMMETRIC
         | 
| 40 43 | 
             
                    COSE::Key::Symmetric.from_map(map)
         | 
| 41 44 | 
             
                  when nil
         | 
| 42 | 
            -
                    raise UnknownKeyType, "Missing required key type kty label"
         | 
| 45 | 
            +
                    raise COSE::UnknownKeyType, "Missing required key type kty label"
         | 
| 43 46 | 
             
                  else
         | 
| 44 | 
            -
                    raise UnknownKeyType, "Unsupported or unknown key type #{map[Base::LABEL_KTY]}"
         | 
| 47 | 
            +
                    raise COSE::UnknownKeyType, "Unsupported or unknown key type #{map[Base::LABEL_KTY]}"
         | 
| 45 48 | 
             
                  end
         | 
| 46 49 | 
             
                end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                def self.cbor_decode(data)
         | 
| 52 | 
            +
                  CBOR.decode(data)
         | 
| 53 | 
            +
                rescue CBOR::MalformedFormatError, EOFError, FloatDomainError, RegexpError, TypeError, URI::InvalidURIError
         | 
| 54 | 
            +
                  raise COSE::MalformedKeyError, "Malformed CBOR key input"
         | 
| 55 | 
            +
                end
         | 
| 47 56 | 
             
              end
         | 
| 48 57 | 
             
            end
         | 
    
        data/lib/cose/key/rsa.rb
    CHANGED
    
    
    
        data/lib/cose/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: cose
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.10.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Gonzalo Rodriguez
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: exe
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2019- | 
| 12 | 
            +
            date: 2019-12-19 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: cbor
         | 
| @@ -63,30 +63,30 @@ dependencies: | |
| 63 63 | 
             
              name: byebug
         | 
| 64 64 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 65 65 | 
             
                requirements:
         | 
| 66 | 
            -
                - - " | 
| 66 | 
            +
                - - "~>"
         | 
| 67 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            -
                    version: ' | 
| 68 | 
            +
                    version: '11.0'
         | 
| 69 69 | 
             
              type: :development
         | 
| 70 70 | 
             
              prerelease: false
         | 
| 71 71 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 72 72 | 
             
                requirements:
         | 
| 73 | 
            -
                - - " | 
| 73 | 
            +
                - - "~>"
         | 
| 74 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            -
                    version: ' | 
| 75 | 
            +
                    version: '11.0'
         | 
| 76 76 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 77 77 | 
             
              name: rake
         | 
| 78 78 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 79 79 | 
             
                requirements:
         | 
| 80 80 | 
             
                - - "~>"
         | 
| 81 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            -
                    version: ' | 
| 82 | 
            +
                    version: '13.0'
         | 
| 83 83 | 
             
              type: :development
         | 
| 84 84 | 
             
              prerelease: false
         | 
| 85 85 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 86 86 | 
             
                requirements:
         | 
| 87 87 | 
             
                - - "~>"
         | 
| 88 88 | 
             
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            -
                    version: ' | 
| 89 | 
            +
                    version: '13.0'
         | 
| 90 90 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 91 91 | 
             
              name: rspec
         | 
| 92 92 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -107,14 +107,14 @@ dependencies: | |
| 107 107 | 
             
                requirements:
         | 
| 108 108 | 
             
                - - '='
         | 
| 109 109 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            -
                    version: 0. | 
| 110 | 
            +
                    version: 0.75.1
         | 
| 111 111 | 
             
              type: :development
         | 
| 112 112 | 
             
              prerelease: false
         | 
| 113 113 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 114 114 | 
             
                requirements:
         | 
| 115 115 | 
             
                - - '='
         | 
| 116 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            -
                    version: 0. | 
| 117 | 
            +
                    version: 0.75.1
         | 
| 118 118 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 119 119 | 
             
              name: rubocop-performance
         | 
| 120 120 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -205,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 205 205 | 
             
                - !ruby/object:Gem::Version
         | 
| 206 206 | 
             
                  version: '0'
         | 
| 207 207 | 
             
            requirements: []
         | 
| 208 | 
            -
            rubygems_version: 3. | 
| 208 | 
            +
            rubygems_version: 3.1.1
         | 
| 209 209 | 
             
            signing_key: 
         | 
| 210 210 | 
             
            specification_version: 4
         | 
| 211 211 | 
             
            summary: Ruby implementation of RFC 8152 CBOR Object Signing and Encryption (COSE)
         |