diff --git a/CycloneDX/Services/NugetV3Service.cs b/CycloneDX/Services/NugetV3Service.cs index 6fa4bcc5..eee721d3 100644 --- a/CycloneDX/Services/NugetV3Service.cs +++ b/CycloneDX/Services/NugetV3Service.cs @@ -316,12 +316,20 @@ private async Task GetNuspec(string name, string version, string nu await resource.CopyNupkgToStreamAsync(name, packageVersion, packageStream, _sourceCacheContext, _logger, _cancellationToken); - using PackageArchiveReader packageReader = new PackageArchiveReader(packageStream); - nuspecModel.nuspecReader = await packageReader.GetNuspecReaderAsync(_cancellationToken); + try + { + using PackageArchiveReader packageReader = new PackageArchiveReader(packageStream); + nuspecModel.nuspecReader = await packageReader.GetNuspecReaderAsync(_cancellationToken); - if (!_disableHashComputation) + if (!_disableHashComputation) + { + nuspecModel.hashBytes = ComputeSha215Hash(packageStream); + } + } + catch (InvalidDataException) { - nuspecModel.hashBytes = ComputeSha215Hash(packageStream); + Console.Error.WriteLine($"Unable to extract the nuget package: {name} - {version}"); + throw; } } else