grempe/tss-rb

View on GitHub
tss.gemspec

Summary

Maintainability
Test Coverage
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'tss/version'

Gem::Specification.new do |spec|
  spec.name          = 'tss'
  spec.version       = TSS::VERSION
  spec.authors       = ['Glenn Rempe']
  spec.email         = ['glenn@rempe.us']

  spec.required_ruby_version = '>= 2.2.2'

  cert = File.expand_path('~/.gem-certs/gem-private_key_grempe_2026.pem')
  if cert && File.exist?(cert)
    spec.signing_key = cert
    spec.cert_chain = ['certs/gem-public_cert_grempe_2026.pem']
  end

  spec.summary = <<-EOF
    A Ruby gem implementing Threshold Secret Sharing. This code can be
    used in your Ruby applications or as a simple command line (CLI)
    executable for splitting and reconstructing secrets.
  EOF

  spec.description = <<-EOF
    Threshold Secret Sharing (TSS) provides a way to generate N shares
    from a value, so that any M of those shares can be used to
    reconstruct the original value, but any M-1 shares provide no
    information about that value. This method can provide shared access
    control on key material and other secrets that must be strongly
    protected.

    This gem implements a Threshold Secret Sharing method based on
    polynomial interpolation in GF(256) and a format for the storage and
    transmission of shares.

    This implementation follows the specification in the document:

    http://tools.ietf.org/html/draft-mcgrew-tss-03
  EOF

  spec.homepage      = 'https://github.com/grempe/tss-rb'
  spec.license       = 'MIT'

  spec.files         = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
  spec.bindir        = 'bin'
  spec.executables   << 'tss'
  spec.require_paths = ['lib']

  spec.add_dependency 'activesupport', '>= 4.0.0'
  spec.add_dependency 'sysrandom', '>= 1.0.3', '~> 1.0.4'
  spec.add_dependency 'contracts', '~> 0.14'
  spec.add_dependency 'binary_struct', '~> 2.1'
  spec.add_dependency 'thor', '~> 0.19'

  spec.add_development_dependency 'bundler', '~> 2.0'
  spec.add_development_dependency 'rake', '~> 11.1'
  spec.add_development_dependency 'minitest', '~> 5.0'
  spec.add_development_dependency 'pry', '~> 0.10'
  spec.add_development_dependency 'coveralls', '~> 0.8'
  spec.add_development_dependency 'coco', '~> 0.14'
  spec.add_development_dependency 'wwtd', '~> 1.3'
  spec.add_development_dependency 'yard-contracts', '~> 0.1'
end