Sha256: 1be922485f2f60de0d2d7dd16edd2c5d4a3f7db4f590224e6a92b67fa2a8ed86

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

RSpec.describe COSE::Key do
  let(:ec2_cbor) do
    "\xA5\x01\x02\x03& \x01!X \x06\x0F\xBD\x82\xE5U\xC4\xDEl\f\x8F7?_O\xFB\xC1H\b8\x0E\xA4\xB7b\xA8\f\x89\xF5\xFBS\xC7u\"X \n\x19\x98\x15\xF2\x10\x99#\xBE[\xB6\xE7PCo\xC5h:\xD2$z\xD0\x03\xD5[\xD8su\x94$\x9A\xD9"
  end
  let(:ec2_pem) do
    <<~PEM
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBg+9guVVxN5sDI83P19P+8FICDgO
    pLdiqAyJ9ftTx3UKGZgV8hCZI75btudQQ2/FaDrSJHrQA9Vb2HN1lCSa2Q==
    -----END PUBLIC KEY-----
    PEM
  end

  context 'for EC keys' do
    let(:cbor) { ec2_cbor }
    let(:decoded) { COSE::Key.decode cbor }

    describe '.decode' do
      subject { decoded }
      it { should be_instance_of COSE::Key::EC2 }
    end

    describe '#curve_name' do
      subject { decoded.curve_name }
      it { should == 'prime256v1' }
    end

    describe '#digest' do
      subject { decoded.digest }
      it { should be_instance_of OpenSSL::Digest::SHA256 }
    end

    describe '#to_key' do
      subject { decoded.to_key }
      it { should be_instance_of OpenSSL::PKey::EC }
    end
  end

  context 'for RSA keys' do
    it :TODO
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cose-key-0.0.1 spec/cose/key_spec.rb