Sha256: 9b8fd2ccc7cad14496804bd521102029413c81b9189f608002cfcdbdd3a252f5

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

require_relative '../../asymkey/ecc_keypair'

module CcipherFactory
  module AsymKeySigner
    module ECCVerifier
      include Common

      attr_accessor :verification_key
      attr_reader :embedded_signer 
      def verify_init(*args, &block)

        if block
          instance_eval(&block)
          verify_final
        else
          self
        end

      end

      def verify_update_meta(meta)

        ts = BinStruct.instance.struct_from_bin(meta)
        digInfo = ts.digest_info
        sigInfo = ts.signer_info
        @sign = ts.signature

        @digest = Digest.from_encoded(digInfo)
        @digest.output(intOutputBuf)

        @signer = KeyPair::ECCKeyPair.from_signer_info(sigInfo)
        @embedded_signer = @signer

      end

      def verify_update_data(data)
        @digest.digest_update(data) 
      end

      def verify_final

        @digest.digest_final
        
        res = Ccrypto::AlgoFactory.engine(Ccrypto::ECCConfig).verify(@signer, intOutputBuf.bytes, @sign)
        
        #res = @signer.dsa_verify_asn1(intOutputBuf.string, @sign)

        res

      end

    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ccipher_factory-0.1.2 lib/ccipher_factory/asymkey_cipher/ecc/ecc_verifier.rb
ccipher_factory-0.1.1 lib/ccipher_factory/asymkey_cipher/ecc/ecc_verifier.rb
ccipher_factory-0.1.0 lib/ccipher_factory/asymkey_cipher/ecc/ecc_verifier.rb