我想签署一个Ruby gem并按照http://docs.rubygems.org/read/chapter/21中的说明进行操作 它说,“隐藏你的私钥”。 但是为了签署gem,我们必须在gemfile中加入“s.signing_key ='/ mnt / floppy / gem-private_key.pem'”。 如果在生成gem之后没有删除这一行,那么每个人都可以在从RubyGems.org安装gem之后看到它。 (并不是说他们可以轻松访问我的电脑,但仍然。) 生成gem时,该行是否会自动从gemspec中删除?
我通常通过Bundler的“rake release”构建gem。所以这一次我尝试了“gem build mygem.gemspec”。但它导致了一些OpenSSL错误。所以我无法检查生成的gem。
提前谢谢你。
答案 0 :(得分:2)
不,您的gemspec中的signing_key
条目不会被删除。它将是公开的,因此人们将能够看到您的签名密钥的文件位置。
正如您所提到的,这并不意味着人们可以访问它,但是如果他们可以访问您的系统,他们就会知道它会在哪里。
您可以使用gem unpack命令导出已安装宝石的内容,以准确检查gemspec中发布的内容以及gem:
gem unpack GEMNAME
希望这有帮助!