diff options
author | Lianhao Lu <lianhao.lu@intel.com> | 2019-11-22 10:11:45 +0800 |
---|---|---|
committer | Lianhao Lu <lianhao.lu@intel.com> | 2019-11-22 17:30:56 +0800 |
commit | 8db4db6563a98c4fac3e833707ab2b14098657d5 (patch) | |
tree | 6dab9858272cf765943be5b0caeafbf6ff7f62a1 /csarvalidation/src/main/java/org/onap/cvc/csar/cc | |
parent | 5e89003fa9a6f892c2922658a5c1d3f900b557d9 (diff) |
Support non DOS/Windows format CSAR manifest file
When recreating the csar manifest file during signature verification, we
should use the same newline charater as the original file instead of
using the DOS/Windows newline charater to avoid false positive signature
verfication failure.
Issue-ID: VNFSDK-520
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Change-Id: I7bdf0a7f6b46c7def0a92d7ec7f245e268355959
Diffstat (limited to 'csarvalidation/src/main/java/org/onap/cvc/csar/cc')
-rw-r--r-- | csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR130206.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR130206.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR130206.java index 16b6942..701c524 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR130206.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR130206.java @@ -254,15 +254,17 @@ class ManifestFileSignatureValidator { boolean isValid(File manifestFile) { try { ManifestFileModel mf = manifestFileSplitter.split(manifestFile); - return cmsSignatureValidator.verifySignedData(toBytes(mf.getCMS()), Optional.empty(), toBytes(mf.getData())); + return cmsSignatureValidator.verifySignedData(toBytes(mf.getCMS(), mf.getNewLine()), + Optional.empty(), + toBytes(mf.getData(), mf.getNewLine())); } catch (CmsSignatureValidatorException e) { LOG.error("Unable to verify signed data!", e); return false; } } - private byte[] toBytes(List<String> data) { - final String updatedData = data.stream().map(it -> it + "\r\n").collect(Collectors.joining()); + private byte[] toBytes(List<String> data, String newLine) { + final String updatedData = data.stream().map(it -> it + newLine).collect(Collectors.joining()); return updatedData.getBytes(Charset.defaultCharset()); } } |