繁体   English   中英

Apache tomcat 从版本 7 升级到 9

[英]Apache tomcat upgrade from version 7 to 9

我正在使用一个应用程序(无 SysAid 服务器),该应用程序捆绑了 Apache Tomcat 版本 7。 根据最近的漏洞扫描,我需要升级 Apache Tomcat 的版本。 我从https://tomcat.apache.org/download-90.cgi下载了 windows 服务安装程序。 我不清楚如何验证下载文件的完整性。 发布完整性部分中的链接导致更多链接,我已经陷入了一个兔子洞。

是否有一种简单的方法来验证文件完整性(我不清楚如何正确执行此操作)?

您可以通过以下两种方式之一验证文件完整性:

  1. 使用 SHA-512 文件 hash

下载压缩档案(例如.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.gzshasum -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

  1. 使用 PGP 签名

这有点涉及。

下载压缩档案(例如.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM