Python 如何验证pip包';s PGP密钥?

Python 如何验证pip包';s PGP密钥?,python,pip,gnupg,python-wheel,Python,Pip,Gnupg,Python Wheel,我正在使用pycryptodomme库。美国 PyPI上的所有源程序包和控制盘都经过加密签名。可使用以下PGP密钥对其进行验证: 我通过pip pip install pycryptodome 我试着直接通过下载轮子文件 pip download pycryptodome 没有*.sig或*.asc文件。我甚至没有看到它,当我检查轮文件直接使用的建议 问题: 如何按照文档建议检查控制盘文件的签名?已过时 PyPI上的所有源程序包和控制盘都经过加密签名 这不再是事实。当PyPI从旧后端切换到仓

我正在使用
pycryptodomme
库。美国

PyPI上的所有源程序包和控制盘都经过加密签名。可使用以下PGP密钥对其进行验证:

我通过
pip

pip install pycryptodome
我试着直接通过下载轮子文件

pip download pycryptodome
没有
*.sig
*.asc
文件。我甚至没有看到它,当我检查轮文件直接使用的建议

问题:

如何按照文档建议检查控制盘文件的签名?

已过时

PyPI上的所有源程序包和控制盘都经过加密签名

这不再是事实。当PyPI从旧后端切换到仓库时,PGP签名从PyPI中删除:

一旦legacy PyPI关闭,将会消失的事情:

包的GPG/PGP签名


您必须手动下载该文件,方法是获取文件的URL,然后将
.asc
附加到该文件中

例如,
borgbackup
项目可以在PyPI的网站上查看:

单击“下载文件”按钮,您可以选择在以下URL下载最新的tarball:

或者,您也可以通过对

另见:


  • 新版本的PyPI是否使用了类似的方法来验证软件包的完整性?@irrable_phd_syndrome我不知道。有PEP 458,但我不知道它是否已实施。不管怎么说,这是一个不同的安全威胁。PGP签名不会被删除,发行版软件包维护人员也没有其他方法来验证从PyPI中提取的内容的真实性。它已从PyPI WUI和API中删除,但仍然支持gpg:您只需将“.asc”附加到所讨论的文件中即可。例如:
    user@disp5066:~$ curl -s https://pypi.org/simple/borgbackup/ | grep -i borgbackup-1.1.13.tar.gz
        <a href="https://files.pythonhosted.org/packages/97/68/27d96a12f54894223ad6676ce4d215ad61771e3e723580f3ee6e609e17b7/borgbackup-1.1.13.tar.gz#sha256=164a8666a61071ce2fa6c60627c7646f12e3a8e74cd38f046be72f5ea91b3821">borgbackup-1.1.13.tar.gz</a><br/>
    user@disp5066:~$ 
    
    user@disp5066:~$ wget https://files.pythonhosted.org/packages/97/68/27d96a12f54894223ad6676ce4d215ad61771e3e723580f3ee6e609e17b7/borgbackup-1.1.13.tar.gz.asc
    --2020-07-02 07:51:12--  https://files.pythonhosted.org/packages/97/68/27d96a12f54894223ad6676ce4d215ad61771e3e723580f3ee6e609e17b7/borgbackup-1.1.13.tar.gz.asc
    Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.37.63, 2a04:4e42:9::319
    Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.37.63|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 862 [application/octet-stream]
    Saving to: ‘borgbackup-1.1.13.tar.gz.asc’
    
    borgbackup-1.1.13.t 100%[===================>]     862  --.-KB/s    in 0s      
    
    2020-07-02 07:51:14 (37.2 MB/s) - ‘borgbackup-1.1.13.tar.gz.asc’ saved [862/862]
    
    user@disp5066:~$ cat borgbackup-1.1.13.tar.gz.asc 
    -----BEGIN PGP SIGNATURE-----
    
    iQJHBAABCgAxFiEEL4Gv+6sE4R/o7mXUJDrPqVH3jgEFAl7cGqwTHHR3QHdhbGRt
    YW5uLWVkdi5kZQAKCRAkOs+pUfeOAd9ND/4nm2O7CK5a4aK41jAI1NisbgEtEJup
    SiD6bvMKpo3VU0P/3Y6pUibKOGzaRImBTB04qS3LlgjB0mCp1RSVsj/Hn+yCNw+k
    hfUH7E7JgAkq96Vkv1dcYgaJ9nhzuIAkEf0aDyzSo8HkBvGGN0/tfCQ7Nr7hI21u
    v5qupIyu7KZrBwY389l7+6yJ9G5qCtHU0fDALRYyjsX+WphrAaizrhFZJO7Km8VZ
    gZhAz3WUDPFwgNMb1mToUxpI2ZpnYnRxVBwjnX0Ps77ua4F5OsYM+hYwH5eX9bS9
    gmb+W3NjUNjVVj4z+OgN8FGbCTeFVQ6E+IVdm55D4ZRU8KarvFoKOI7HS4GP/3iv
    4iWqDaYBMRShnUTk1FKFCKjTb5tXewUGPwio+4bpgUyfJj0OWj1ecMqeF5VAslWz
    6pZnsUqLpTFuHUA6dr18TKX4U+c6rdXVM7BhNZe2XtjaQwau6Wz9nC1xhZyFNl1q
    CHY7jmLhsfP8GXkh31X9bJrKSZMyYRYat2e7kOroIJczRcHG9T708T+KzsfAb+6w
    pWZbfWNfCbCmVQehyhDvNepB3IB5w6ijrZwKTamHAnYBVkAUD/aYwDQJf4nAL4YI
    7JXBRpLlCVQGRUQdClqy8QjzpSZs5/Dbetvy5of753JbVjFQtGO2gLLp0wL0HB0v
    vIZv3dfBDvfcXQ==
    =F4gj
    -----END PGP SIGNATURE-----
    user@disp5066:~$