[英]Apache tomcat upgrade from version 7 to 9
我正在使用一个应用程序(无 SysAid 服务器),该应用程序捆绑了 Apache Tomcat 版本 7。 根据最近的漏洞扫描,我需要升级 Apache Tomcat 的版本。 我从https://tomcat.apache.org/download-90.cgi下载了 windows 服务安装程序。 我不清楚如何验证下载文件的完整性。 发布完整性部分中的链接导致更多链接,我已经陷入了一个兔子洞。
是否有一种简单的方法来验证文件完整性(我不清楚如何正确执行此操作)?
您可以通过以下两种方式之一验证文件完整性:
下载压缩档案(例如.tar.gz
)以及同名文件加上.sha512
。
$ wget https://[mirror]/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.tar.gz
$ wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.tar.gz.sha512
(请注意,.sha256 文件应始终从downloads.apache.org
,切勿从镜像下载)。
现在检查 hash。 这在不同平台上略有不同。
Linux:
$ sha512sum -c apache-tomcat-9.0.41.tar.gz.sha512
apache-tomcat-9.0.41.tar.gz: OK
苹果系统:
$ shasum -c apache-tomcat-9.0.41.tar.gz.sha512
apache-tomcat-9.0.41.tar.gz: OK
我不确定在 Windows 上执行此操作的最佳方法。
您也可以执行sha512sum apache-tomcat-9.0.41.tar.gz
或shasum -a 512 apache-tomcat-9.0.41.tar.gz
然后手动将 output 与文件apache-tomcat-9.0.41.tar.gz.sha512
的内容进行比较apache-tomcat-9.0.41.tar.gz.sha512
。
这有点涉及。
下载压缩档案(例如.tar.gz
)以及同名文件加上.asc
。
$ wget https://[mirror]/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.tar.gz
$ wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.tar.gz.asc
(请注意,.asc 文件应始终从downloads.apache.org
,切勿从镜像下载)。
现在验证签名:
$ gpg --verify apache-tomcat-9.0.41.tar.gz.asc
gpg: assuming signed data in 'apache-tomcat-9.0.41.tar.gz'
gpg: Signature made Thu Dec 3 06:48:37 2020 EST
gpg: using RSA key A9C5DF4D22E99998D9875A5110C01C5A2F6059E7
gpg: Good signature from "Mark E D Thomas <markt@apache.org>" [undefined]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: A9C5 DF4D 22E9 9998 D987 5A51 10C0 1C5A 2F60 59E7
此时,您可以 go 到 PGP 密钥服务器并查找 Mark ED Thomas 的密钥指纹( A9C5 DF4D 22E9 9998 D987 5A51 10C0 1C5A 2F60 59E7
)并检查他是否值得信赖。 您可以通过查看谁签署了他的密钥来做出决定。
另一种选择是从 Tomcat 下载页面下载 KEYS 文件以确保。 KEYS
文件仅包含实际签署版本的 Tomcat 开发人员的 PGP 公钥。
$ wget https://downloads.apache.org/tomcat/tomcat-9/KEYS
你有几个选择,在这里。 如果你想将所有这些密钥导入你的主 GPG 密钥环,你可以这样做:
$ gpg --import < KEYS
如果您出于某种原因不想将这些密钥添加到您的密钥环中,您可以构建一个临时密钥:
$ gpg --import --no-default-keyring --primary-keyring ./apache-tomcat-keys < KEYS
现在您需要“信任”一个或多个密钥。 不幸的是,您不能只说“信任./apache-tomcat-keys
中的所有内容”而不进行一些编辑。
编辑您的主密钥环:
$ gpg --edit-key A9C5DF4D22E99998D9875A5110C01C5A2F6059E7
或者你的临时的:
$ gpg --edit-key --no-default-keyring --primary-keyring ./apache-tomcat-keys
现在将信任分配给密钥:
A9C5DF4D22E99998D9875A5110C01C5A2F6059E7
gpg (GnuPG/MacGPG2) 2.2.24; Copyright (C) 2020 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
pub rsa4096/10C01C5A2F6059E7
created: 2009-09-18 expires: never usage: SC
trust: unknown validity: undefined
sub rsa4096/A05557215E763BEC
created: 2009-09-18 expires: never usage: E
[ undef ] (1). Mark E D Thomas <markt@apache.org>
gpg> trust
pub rsa4096/10C01C5A2F6059E7
created: 2009-09-18 expires: never usage: SC
trust: unknown validity: undefined
sub rsa4096/A05557215E763BEC
created: 2009-09-18 expires: never usage: E
[ undef ] (1). Mark E D Thomas <markt@apache.org>
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)
1 = I don't know or won't say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
5 = I trust ultimately
m = back to the main menu
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
pub rsa4096/10C01C5A2F6059E7
created: 2009-09-18 expires: never usage: SC
trust: ultimate validity: undefined
sub rsa4096/A05557215E763BEC
created: 2009-09-18 expires: never usage: E
[ undef ] (1). Mark E D Thomas <markt@apache.org>
Please note that the shown key validity is not necessarily correct
unless you restart the program.
gpg> save
Key not changed so no update needed.
最后,我们准备验证。 如果您使用了主密钥环,则:
$ gpg --verify apache-tomcat-9.0.41.tar.gz.asc
gpg: assuming signed data in 'apache-tomcat-9.0.41.tar.gz'
gpg: Signature made Thu Dec 3 06:48:37 2020 EST
gpg: using RSA key A9C5DF4D22E99998D9875A5110C01C5A2F6059E7
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 3 signed: 52 trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: depth: 1 valid: 52 signed: 65 trust: 39-, 0q, 0n, 13m, 0f, 0u
gpg: [... info about trust db...]
gpg: Good signature from "Mark E D Thomas <markt@apache.org>" [ultimate]
如果您使用的是临时的:
$ gpg --verify --keyring ./apache-tomcat-keys apache-tomcat-9.0.41.tar.gz.asc
gpg: assuming signed data in 'apache-tomcat-9.0.41.tar.gz'
gpg: Signature made Thu Dec 3 06:48:37 2020 EST
gpg: using RSA key A9C5DF4D22E99998D9875A5110C01C5A2F6059E7
gpg: checking the trustdb
gpg: [... info about trust db...]
gpg: Good signature from "Mark E D Thomas <markt@apache.org>" [ultimate]
在单独的问题中询问有关升级 Tomcat 的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.