我从文档中了解到可以签署git标签和提交。
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar); // Setting/replace toolbar as the ActionBar
TabLayout tabLayout = (TabLayout)findViewById(R.id.tabs);
tabLayout.addTab(tabLayout.newTab().setText(getResources().getText(R.string.tab0)));
tabLayout.addTab(tabLayout.newTab().setText(getResources().getText(R.string.tab1)));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
文档:https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work
这适用于GPG。有人用X509用户证书做过这样的事吗?
看起来GPG与x509 pki证书不兼容或不可互换。由于这是在企业环境中,因此GPG不是一种选择。
如果有人可以分享关于如何使用x509证书进行思考或体验,那会很棒吗?需要什么以及实现这样的东西需要什么?
答案 0 :(得分:3)
使用Git 2.19(2018年第三季度)应该更容易,因为“ git tag -s
”等现在具有一些配置变量(gpg.format
,可以设置为“ openpgp
”或“ x509
”和“ gpg.<format>.program
”(用于指定用于处理格式的程序),以允许通过“ gpgsm
”使用CMS的x.509证书,而不是
通过“ gnupg
”打开。
请参见commit 53fc999(2018年7月20日),commit 1e7adb9,commit b02f51b,commit 42149d7,commit 58af57e,commit 57a8dd7(2018年7月17日),和commit 1865a64的Henning Schild (henning-schild
)(2018年7月18日)。
(由Junio C Hamano -- gitster
--在commit 3ec5ebe中合并,2018年8月15日)
涉及的更改如下:
gpg-interface
:添加新配置以选择如何签署提交添加“
gpg.format
”,用户可以在其中指定要签名的类型 用于提交。
gpg-interface
:引入了多种gpg格式的抽象创建一个结构,其中包含受支持格式的格式详细信息。
该提交为引入更多格式做好了准备,这些格式可能会使用其他程序并与其他签名匹配。gpg-interface:不再对密钥字符串len进行硬编码
gnupg
的确会打印密钥ID,后跟空格,然后是签名者。gpgsm
中也使用了相同的模式,但是密钥长度为40而不是16。找到所需的第一个空格并进行计算,而不是对预期的长度进行硬编码。
在跳转到found + 17之前,该格式与预期格式不匹配的输入现在将被忽略,该值可能在意外字符串的末尾。
答案 1 :(得分:1)
GitHub在specifying signing keys上提供了一些有用的说明,包括如何在Windows和Mac上使用smimesign
使用X.509证书进行签名。
$ git config --global gpg.x509.program smimesign
$ git config --global gpg.format x509
$ git config --global gpg.program smimesign
在Linux上,您可以改用gpgme
。使用gpgme --import cert.p12
添加证书。在gpgme
之前,您可能还需要导入根证书和任何中间证书。