diff --git a/rust/Cargo.lock b/rust/Cargo.lock
index d6941b56..b4ebf866 100644
--- a/rust/Cargo.lock
+++ b/rust/Cargo.lock
@@ -367,7 +367,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -917,7 +917,7 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys",
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -958,6 +958,7 @@ dependencies = [
"s390_pv_core",
"serde",
"serde_test",
+ "testing_logger",
"thiserror",
"zerocopy",
]
@@ -1118,7 +1119,7 @@ dependencies = [
"getrandom 0.4.2",
"once_cell",
"rustix",
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -1128,7 +1129,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874"
dependencies = [
"rustix",
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
+]
+
+[[package]]
+name = "testing_logger"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d92b727cb45d33ae956f7f46b966b25f1bc712092aeef9dba5ac798fc89f720"
+dependencies = [
+ "log",
]
[[package]]
diff --git a/rust/pv/Cargo.toml b/rust/pv/Cargo.toml
index 3f1a003b..fc7e494a 100644
--- a/rust/pv/Cargo.toml
+++ b/rust/pv/Cargo.toml
@@ -29,3 +29,4 @@ pv_core = { path = "../pv_core", package = "s390_pv_core", version = "0.12.0" }
[dev-dependencies]
serde_test = "1.0.177"
+testing_logger = "0.1.1"
diff --git a/rust/pv/src/error.rs b/rust/pv/src/error.rs
index 98b2d833..df75c591 100644
--- a/rust/pv/src/error.rs
+++ b/rust/pv/src/error.rs
@@ -179,6 +179,8 @@ pub enum HkdVerifyErrorType {
IbmSignInvalid(#[source] openssl::x509::X509VerifyResult, u32),
#[error("Too many redirections during CRL download")]
TooManyRedirectionsCrlDownload,
+ #[error("CRL download exceeds maximum file size of {} MiB", .0 / (1024 * 1024))]
+ CrlDownloadTooLarge(u64),
#[error("CRL download failed")]
CrlDownloadFailed,
}
diff --git a/rust/pv/src/verify/helper.rs b/rust/pv/src/verify/helper.rs
index 0d37bb2f..52640e5a 100644
--- a/rust/pv/src/verify/helper.rs
+++ b/rust/pv/src/verify/helper.rs
@@ -354,6 +354,7 @@ trait HttpClient {
fn follow_location(&mut self, enable: bool) -> Result<()>;
fn redirect_url(&self) -> Result