From afbbf1658334af8f2e38c55be411a5dfe65b9f1f Mon Sep 17 00:00:00 2001 From: chubtub <43381989+chubtub@users.noreply.github.com> Date: Mon, 11 Apr 2022 07:57:45 -0400 Subject: [PATCH 1/2] Added checks and error handling for missing required JSON fields and/or input parameters. --- .../main/java/hirs/swid/CredentialParser.java | 23 ++- .../main/java/hirs/swid/SwidTagGateway.java | 169 +++++++++++------- .../main/java/hirs/swid/SwidTagValidator.java | 15 +- .../main/java/hirs/swid/utils/HashSwid.java | 21 ++- 4 files changed, 137 insertions(+), 91 deletions(-) diff --git a/tools/tcg_rim_tool/src/main/java/hirs/swid/CredentialParser.java b/tools/tcg_rim_tool/src/main/java/hirs/swid/CredentialParser.java index de208c87..013095d8 100644 --- a/tools/tcg_rim_tool/src/main/java/hirs/swid/CredentialParser.java +++ b/tools/tcg_rim_tool/src/main/java/hirs/swid/CredentialParser.java @@ -65,7 +65,7 @@ public class CredentialParser { } public void parsePEMCredentials(String certificateFile, String privateKeyFile) - throws CertificateException, FileNotFoundException { + throws Exception { certificate = parsePEMCertificates(certificateFile).get(0); if (certificate.getIssuerX500Principal().equals(certificate.getSubjectX500Principal())) { throw new CertificateException("Signing certificate cannot be self-signed!"); @@ -125,7 +125,8 @@ public class CredentialParser { CertificateFactory certificateFactory = CertificateFactory.getInstance(X509); while (bis.available() > 0) { - certificates = (List) certificateFactory.generateCertificates(bis); + certificates = + (List) certificateFactory.generateCertificates(bis); } if (certificates.size() < 1) { @@ -160,10 +161,11 @@ public class CredentialParser { * @param filename * @return */ - private PrivateKey parsePEMPrivateKey(String filename, String algorithm) { + private PrivateKey parsePEMPrivateKey(String filename, String algorithm) throws Exception { PrivateKey privateKey = null; FileInputStream fis = null; DataInputStream dis = null; + String errorMessage = ""; try { File file = new File(filename); fis = new FileInputStream(file); @@ -186,15 +188,15 @@ public class CredentialParser { privateKey = keyFactory.generatePrivate(spec); } } catch (FileNotFoundException e) { - System.out.println("Unable to locate private key file: " + filename); + errorMessage += "Unable to locate private key file: " + filename; } catch (DecoderException e) { - System.out.println("Failed to parse uploaded pem file: " + e.getMessage()); + errorMessage += "Failed to parse uploaded pem file: " + e.getMessage(); } catch (NoSuchAlgorithmException e) { - System.out.println("Unable to instantiate KeyFactory with algorithm: " + algorithm); + errorMessage += "Unable to instantiate KeyFactory with algorithm: " + algorithm; } catch (IOException e) { - System.out.println("IOException: " + e.getMessage()); + errorMessage += "IOException: " + e.getMessage(); } catch (InvalidKeySpecException e) { - System.out.println("Error instantiating PKCS8EncodedKeySpec object: " + e.getMessage()); + errorMessage += "Error instantiating PKCS8EncodedKeySpec object: " + e.getMessage(); } finally { try { if (fis != null) { @@ -204,7 +206,10 @@ public class CredentialParser { dis.close(); } } catch (IOException e) { - System.out.println("Error closing input stream: " + e.getMessage()); + errorMessage += "Error closing input stream: " + e.getMessage(); + } + if (!errorMessage.isEmpty()) { + throw new Exception("Error parsing private key: " + errorMessage); } } diff --git a/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagGateway.java b/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagGateway.java index 55ca8416..73af34c2 100644 --- a/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagGateway.java +++ b/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagGateway.java @@ -11,6 +11,7 @@ import hirs.swid.xjc.SoftwareMeta; import org.w3c.dom.Document; import javax.json.Json; +import javax.json.JsonException; import javax.json.JsonObject; import javax.json.JsonReader; import javax.xml.bind.JAXBContext; @@ -77,6 +78,7 @@ public class SwidTagGateway { private String pemPrivateKeyFile; private String pemCertificateFile; private String rimEventLog; + private String errorRequiredFields; /** * Default constructor initializes jaxbcontext, marshaller, and unmarshaller @@ -89,6 +91,7 @@ public class SwidTagGateway { defaultCredentials = true; pemCertificateFile = ""; rimEventLog = ""; + errorRequiredFields = ""; } catch (JAXBException e) { System.out.println("Error initializing jaxbcontext: " + e.getMessage()); } @@ -176,33 +179,44 @@ public class SwidTagGateway { JAXBElement meta = objectFactory.createSoftwareIdentityMeta( createSoftwareMeta(configProperties.getJsonObject(SwidTagConstants.META))); swidTag.getEntityOrEvidenceOrLink().add(meta); + //Payload + ResourceCollection payload = createPayload( + configProperties.getJsonObject(SwidTagConstants.PAYLOAD)); + //Directory + Directory directory = createDirectory( + configProperties.getJsonObject(SwidTagConstants.PAYLOAD) + .getJsonObject(SwidTagConstants.DIRECTORY)); //File hirs.swid.xjc.File file = createFile( configProperties.getJsonObject(SwidTagConstants.PAYLOAD) .getJsonObject(SwidTagConstants.DIRECTORY) .getJsonObject(SwidTagConstants.FILE)); - //Directory - Directory directory = createDirectory( - configProperties.getJsonObject(SwidTagConstants.PAYLOAD) - .getJsonObject(SwidTagConstants.DIRECTORY)); + //Nest File in Directory in Payload directory.getDirectoryOrFile().add(file); - //Payload - ResourceCollection payload = createPayload( - configProperties.getJsonObject(SwidTagConstants.PAYLOAD)); payload.getDirectoryOrFileOrProcess().add(directory); JAXBElement jaxbPayload = objectFactory.createSoftwareIdentityPayload(payload); swidTag.getEntityOrEvidenceOrLink().add(jaxbPayload); - + //Signature + if (errorRequiredFields.isEmpty()) { + Document signedSoftwareIdentity = signXMLDocument( + objectFactory.createSoftwareIdentity(swidTag)); + writeSwidTagFile(signedSoftwareIdentity, filename); + } else { + System.out.println("The following fields cannot be empty or null: " + + errorRequiredFields.substring(0, errorRequiredFields.length()-2)); + System.exit(1); + } + } catch (JsonException e) { + System.out.println("Error reading JSON attributes: " + e.getMessage()); + System.exit(1); } catch (FileNotFoundException e) { System.out.println("File does not exist or cannot be read: " + e.getMessage()); + System.exit(1); } catch (Exception e) { System.out.println(e.getMessage()); + System.exit(1); } - - Document signedSoftwareIdentity = signXMLDocument( - objectFactory.createSoftwareIdentity(swidTag)); - writeSwidTagFile(signedSoftwareIdentity, filename); } /** @@ -240,25 +254,29 @@ public class SwidTagGateway { */ private SoftwareIdentity createSwidTag(JsonObject jsonObject) { SoftwareIdentity swidTag = objectFactory.createSoftwareIdentity(); - swidTag.setLang(SwidTagConstants.DEFAULT_ENGLISH); - String name = jsonObject.getString(SwidTagConstants.NAME, ""); - if (!name.isEmpty()) { - swidTag.setName(name); - } - String tagId = jsonObject.getString(SwidTagConstants.TAGID, ""); - if (!tagId.isEmpty()) { - swidTag.setTagId(tagId); - } - swidTag.setTagVersion(new BigInteger( - jsonObject.getString(SwidTagConstants.TAGVERSION, "0"))); - swidTag.setVersion(jsonObject.getString(SwidTagConstants.VERSION, "0.0")); - swidTag.setCorpus(jsonObject.getBoolean(SwidTagConstants.CORPUS, false)); - swidTag.setPatch(jsonObject.getBoolean(SwidTagConstants.PATCH, false)); - swidTag.setSupplemental(jsonObject.getBoolean(SwidTagConstants.SUPPLEMENTAL, false)); - if (!swidTag.isCorpus() && !swidTag.isPatch() - && !swidTag.isSupplemental() && swidTag.getVersion() != "0.0") { - swidTag.setVersionScheme( - jsonObject.getString(SwidTagConstants.VERSION_SCHEME, "multipartnumeric")); + if (jsonObject == null) { + errorRequiredFields += SwidTagConstants.SOFTWARE_IDENTITY + ", "; + } else { + swidTag.setLang(SwidTagConstants.DEFAULT_ENGLISH); + String name = jsonObject.getString(SwidTagConstants.NAME, ""); + if (!name.isEmpty()) { + swidTag.setName(name); + } + String tagId = jsonObject.getString(SwidTagConstants.TAGID, ""); + if (!tagId.isEmpty()) { + swidTag.setTagId(tagId); + } + swidTag.setTagVersion(new BigInteger( + jsonObject.getString(SwidTagConstants.TAGVERSION, "0"))); + swidTag.setVersion(jsonObject.getString(SwidTagConstants.VERSION, "0.0")); + swidTag.setCorpus(jsonObject.getBoolean(SwidTagConstants.CORPUS, false)); + swidTag.setPatch(jsonObject.getBoolean(SwidTagConstants.PATCH, false)); + swidTag.setSupplemental(jsonObject.getBoolean(SwidTagConstants.SUPPLEMENTAL, false)); + if (!swidTag.isCorpus() && !swidTag.isPatch() + && !swidTag.isSupplemental() && swidTag.getVersion() != "0.0") { + swidTag.setVersionScheme( + jsonObject.getString(SwidTagConstants.VERSION_SCHEME, "multipartnumeric")); + } } return swidTag; @@ -274,30 +292,35 @@ public class SwidTagGateway { private Entity createEntity(JsonObject jsonObject) { boolean isTagCreator = false; Entity entity = objectFactory.createEntity(); - String name = jsonObject.getString(SwidTagConstants.NAME, ""); - if (!name.isEmpty()) { - entity.setName(name); - } - String[] roles = jsonObject.getString(SwidTagConstants.ROLE, "").split(","); - for (int i = 0; i < roles.length; i++) { - entity.getRole().add(roles[i]); - if (roles[i].equals("tagCreator")) { - isTagCreator = true; - } - } - if (isTagCreator) { - String regid = jsonObject.getString(SwidTagConstants.REGID, ""); - if (regid.isEmpty()) { - //throw exception that regid is required - } else { - entity.setRegid(regid); - } + if (jsonObject == null) { + errorRequiredFields += SwidTagConstants.ENTITY + ", "; } else { - entity.setRegid(jsonObject.getString(SwidTagConstants.REGID, "invalid.unavailable")); - } - String thumbprint = jsonObject.getString(SwidTagConstants.THUMBPRINT, ""); - if (!thumbprint.isEmpty()) { - entity.setThumbprint(thumbprint); + String name = jsonObject.getString(SwidTagConstants.NAME, ""); + if (!name.isEmpty()) { + entity.setName(name); + } + String[] roles = jsonObject.getString(SwidTagConstants.ROLE, "").split(","); + for (int i = 0; i < roles.length; i++) { + entity.getRole().add(roles[i]); + if (roles[i].equals("tagCreator")) { + isTagCreator = true; + } + } + if (isTagCreator) { + String regid = jsonObject.getString(SwidTagConstants.REGID, ""); + if (regid.isEmpty()) { + //throw exception that regid is required + } else { + entity.setRegid(regid); + } + } else { + entity.setRegid(jsonObject.getString(SwidTagConstants.REGID, + "invalid.unavailable")); + } + String thumbprint = jsonObject.getString(SwidTagConstants.THUMBPRINT, ""); + if (!thumbprint.isEmpty()) { + entity.setThumbprint(thumbprint); + } } return entity; } @@ -344,11 +367,11 @@ public class SwidTagGateway { addNonNullAttribute(attributes, SwidTagConstants._PAYLOAD_TYPE, jsonObject.getString(SwidTagConstants.PAYLOAD_TYPE, "")); addNonNullAttribute(attributes, SwidTagConstants._PLATFORM_MANUFACTURER_STR, - jsonObject.getString(SwidTagConstants.PLATFORM_MANUFACTURER_STR, "")); + jsonObject.getString(SwidTagConstants.PLATFORM_MANUFACTURER_STR, ""), true); addNonNullAttribute(attributes, SwidTagConstants._PLATFORM_MANUFACTURER_ID, - jsonObject.getString(SwidTagConstants.PLATFORM_MANUFACTURER_ID, "")); + jsonObject.getString(SwidTagConstants.PLATFORM_MANUFACTURER_ID, ""), true); addNonNullAttribute(attributes, SwidTagConstants._PLATFORM_MODEL, - jsonObject.getString(SwidTagConstants.PLATFORM_MODEL, "")); + jsonObject.getString(SwidTagConstants.PLATFORM_MODEL, ""), true); addNonNullAttribute(attributes, SwidTagConstants._PLATFORM_VERSION, jsonObject.getString(SwidTagConstants.PLATFORM_VERSION, "")); addNonNullAttribute(attributes, SwidTagConstants._FIRMWARE_MANUFACTURER_STR, @@ -382,12 +405,16 @@ public class SwidTagGateway { private ResourceCollection createPayload(JsonObject jsonObject) { ResourceCollection payload = objectFactory.createResourceCollection(); Map attributes = payload.getOtherAttributes(); - addNonNullAttribute(attributes, SwidTagConstants._N8060_ENVVARPREFIX, - jsonObject.getString(SwidTagConstants._N8060_ENVVARPREFIX.getLocalPart(), "")); - addNonNullAttribute(attributes, SwidTagConstants._N8060_ENVVARSUFFIX, - jsonObject.getString(SwidTagConstants._N8060_ENVVARSUFFIX.getLocalPart(), "")); - addNonNullAttribute(attributes, SwidTagConstants._N8060_PATHSEPARATOR, - jsonObject.getString(SwidTagConstants._N8060_PATHSEPARATOR.getLocalPart(), "")); + if (jsonObject == null) { + errorRequiredFields += SwidTagConstants.PAYLOAD + ", "; + } else { + addNonNullAttribute(attributes, SwidTagConstants._N8060_ENVVARPREFIX, + jsonObject.getString(SwidTagConstants._N8060_ENVVARPREFIX.getLocalPart(), "")); + addNonNullAttribute(attributes, SwidTagConstants._N8060_ENVVARSUFFIX, + jsonObject.getString(SwidTagConstants._N8060_ENVVARSUFFIX.getLocalPart(), "")); + addNonNullAttribute(attributes, SwidTagConstants._N8060_PATHSEPARATOR, + jsonObject.getString(SwidTagConstants._N8060_PATHSEPARATOR.getLocalPart(), "")); + } return payload; } @@ -428,7 +455,7 @@ public class SwidTagGateway { * @param jsonObject the Properties object containing parameters from file * @return File object created from the properties */ - private hirs.swid.xjc.File createFile(JsonObject jsonObject) { + private hirs.swid.xjc.File createFile(JsonObject jsonObject) throws Exception { hirs.swid.xjc.File file = objectFactory.createFile(); file.setName(jsonObject.getString(SwidTagConstants.NAME, "")); Map attributes = file.getOtherAttributes(); @@ -448,11 +475,21 @@ public class SwidTagGateway { jsonObject.getString(SwidTagConstants.SUPPORT_RIM_URI_GLOBAL, "")); File rimEventLogFile = new File(rimEventLog); file.setSize(new BigInteger(Long.toString(rimEventLogFile.length()))); - addNonNullAttribute(attributes, SwidTagConstants._SHA256_HASH, HashSwid.get256Hash(rimEventLog)); + addNonNullAttribute(attributes, SwidTagConstants._SHA256_HASH, + jsonObject.getString(SwidTagConstants.HASH, + HashSwid.get256Hash(rimEventLog)), true); return file; } + private void addNonNullAttribute(Map attributes, QName key, String value, + boolean required) { + if (required && value.isEmpty()) { + errorRequiredFields += key.getLocalPart() + ", "; + } else { + addNonNullAttribute(attributes, key, value); + } + } /** * This utility method checks if an attribute value is empty before adding it to the map. * @@ -470,7 +507,7 @@ public class SwidTagGateway { * This method signs a SoftwareIdentity with an xmldsig in compatibility mode. * Current assumptions: digest method SHA256, signature method SHA256, enveloped signature */ - private Document signXMLDocument(JAXBElement swidTag) { + private Document signXMLDocument(JAXBElement swidTag) throws Exception { Document doc = null; try { XMLSignatureFactory sigFactory = XMLSignatureFactory.getInstance("DOM"); diff --git a/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagValidator.java b/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagValidator.java index e1313f0f..9ec850bb 100644 --- a/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagValidator.java +++ b/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagValidator.java @@ -4,7 +4,6 @@ import hirs.swid.utils.HashSwid; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; @@ -39,10 +38,8 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -import java.math.BigInteger; import java.security.InvalidKeyException; import java.security.Key; -import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.security.PublicKey; @@ -51,9 +48,6 @@ import java.security.SignatureException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.security.spec.InvalidKeySpecException; -import java.security.spec.RSAPublicKeySpec; -import java.util.Arrays; -import java.util.Base64; import java.util.Iterator; import java.util.List; @@ -116,7 +110,12 @@ public class SwidTagValidator { si.append("SoftwareIdentity tagId: " + softwareIdentity.getAttribute("tagId") + "\n"); System.out.println(si.toString()); Element file = (Element) document.getElementsByTagName("File").item(0); - validateFile(file); + try { + validateFile(file); + } catch (Exception e) { + System.out.println(e.getMessage()); + return false; + } System.out.println("Signature core validity: " + validateSignedXMLDocument(document)); return true; } @@ -124,7 +123,7 @@ public class SwidTagValidator { /** * This method validates a hirs.swid.xjc.File from an indirect payload */ - private boolean validateFile(Element file) { + private boolean validateFile(Element file) throws Exception { String filepath; if (!rimEventLog.isEmpty()) { filepath = rimEventLog; diff --git a/tools/tcg_rim_tool/src/main/java/hirs/swid/utils/HashSwid.java b/tools/tcg_rim_tool/src/main/java/hirs/swid/utils/HashSwid.java index a01de6e0..4bc8d7ef 100644 --- a/tools/tcg_rim_tool/src/main/java/hirs/swid/utils/HashSwid.java +++ b/tools/tcg_rim_tool/src/main/java/hirs/swid/utils/HashSwid.java @@ -26,7 +26,7 @@ public class HashSwid { * @param filepath the file to hash. * @return */ - public static String get256Hash(String filepath) { + public static String get256Hash(String filepath) throws Exception { return getHashValue(filepath, SHA256); } @@ -35,7 +35,7 @@ public class HashSwid { * @param filepath the file to hash. * @return */ - public String get384Hash(String filepath) { + public String get384Hash(String filepath) throws Exception { return getHashValue(filepath, SHA384); } @@ -44,7 +44,7 @@ public class HashSwid { * @param filepath the file to hash. * @return */ - public String get512Hash(String filepath) { + public String get512Hash(String filepath) throws Exception { return getHashValue(filepath, SHA512); } @@ -60,7 +60,7 @@ public class HashSwid { * @param sha the algorithm to use for the hash * @return */ - private static String getHashValue(String filepath, String sha) { + private static String getHashValue(String filepath, String sha) throws Exception { String resultString = null; try { MessageDigest md = MessageDigest.getInstance(sha); @@ -71,10 +71,15 @@ public class HashSwid { sb.append(Integer.toString((bytes[i] & 0xff) + 0x100, 16).substring(1)); } resultString = sb.toString(); - } catch (UnsupportedEncodingException | NoSuchAlgorithmException grex) { - System.out.println(grex.getMessage()); - } catch (IOException e) { - System.out.println("Error reading in file to hash: " + e.getMessage()); + } catch (NoSuchAlgorithmException | IOException e) { + String errorMessage = "Error hashing file " + filepath + ": "; + if (e instanceof UnsupportedEncodingException || + e instanceof NoSuchAlgorithmException) { + errorMessage += ((Exception) e).getMessage(); + } else if (e instanceof IOException) { + errorMessage += "error reading file."; + } + throw new Exception(errorMessage); } return resultString; From e72ffe1cbbaa9387da34fa629a88a1a5fbe6f476 Mon Sep 17 00:00:00 2001 From: chubtub <43381989+chubtub@users.noreply.github.com> Date: Fri, 26 Aug 2022 01:29:01 -0400 Subject: [PATCH 2/2] Debug failing unit tests --- tools/tcg_rim_tool/build.gradle | 4 ++++ .../src/main/java/hirs/swid/SwidTagValidator.java | 2 ++ .../test/resources/generated_default_cert.swidtag | 14 +++++++------- .../src/test/resources/generated_user_cert.swidtag | 14 +++++++------- .../resources/generated_user_cert_embed.swidtag | 14 +++++++------- 5 files changed, 27 insertions(+), 21 deletions(-) diff --git a/tools/tcg_rim_tool/build.gradle b/tools/tcg_rim_tool/build.gradle index 5630a3ff..df01bebe 100644 --- a/tools/tcg_rim_tool/build.gradle +++ b/tools/tcg_rim_tool/build.gradle @@ -9,6 +9,10 @@ dependencies { testCompile 'org.testng:testng:6.8.8' } +test { + testLogging.showStandardStreams true +} + jar { manifest { attributes("Main-Class": "hirs.swid.Main", diff --git a/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagValidator.java b/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagValidator.java index 35ff995a..10d83a91 100644 --- a/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagValidator.java +++ b/tools/tcg_rim_tool/src/main/java/hirs/swid/SwidTagValidator.java @@ -41,6 +41,7 @@ import java.io.IOException; import java.io.InputStream; import java.security.InvalidKeyException; import java.security.Key; +import java.security.KeyException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.security.PublicKey; @@ -49,6 +50,7 @@ import java.security.SignatureException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.security.spec.InvalidKeySpecException; +import java.util.Arrays; import java.util.Iterator; import java.util.List; diff --git a/tools/tcg_rim_tool/src/test/resources/generated_default_cert.swidtag b/tools/tcg_rim_tool/src/test/resources/generated_default_cert.swidtag index ea454392..29193469 100644 --- a/tools/tcg_rim_tool/src/test/resources/generated_default_cert.swidtag +++ b/tools/tcg_rim_tool/src/test/resources/generated_default_cert.swidtag @@ -3,7 +3,7 @@ - + @@ -17,14 +17,14 @@ - 97uWB7zSsO5WaGbrcQrlKd1Bju0aDTjK1/ktUYBje8A= + K3XoBeYvgJBAKl8z273sL7z38qLLVBKLfUPt/gPUzBI= - N1YtTeo2Ryuj+CtlXIpICEay+ni7vt8+4J7tAsYpa3efnLwtea69PIqEylPWm9LdA8Eo8XDdpgxV -7h3hi2LTOU+Wxq3bLiLamo99T1EtIwl+ZPcOv8bsfEkmShHdMC0dlfcj6r7x4tc0XkNAhhJgfRNz -FsmPWKJb6FYcsHFbHO/Uw1hSokbAGcWWTshEOqvKHMa8UVkrFMUPnrnMtdyJqZlhDBrZHNi4rWth -8TjlUnQVSCF9s9I04FxJ1cUAdeVMHtXKM8Pvjv68PaJMJK73dW5Yd3SbcgoKLesf/HPWeeZL0rr4 -TNjlqJ/wq61Ons45MFG9bIscVbnd+XxFHx8Skw== + cIl1gPsUyEj2gDv3HTWNFDVxtcBjz4Revxxf2LJejtOXQW8mGepZH8CnvgO7zCAbZYlYUZXjYZ9M +jONVv8dcsAjVHRnP6YHywFfmSm8LUCwxsfuZQqn5jClqzu5VaqLzBhuJYvCpiEdIDJwDINQuORUB +nzul1CWc3Sm1Ms2wjlIq5ctWWJcddhdyIOjl8/oD4EC5E2rOSfNcRMZxldXtie9iinFGVbr0YNE+ ++lQ7hAU+SyV8RMx9tGnnsO8otwV4ddF+OfemcbzWGYBenLs3A8ZqWZyTvWphCgGqDUbOLssYciCC +mnYm5QOeh4QcE9H2kqTgZvcyCgPL/hDC7xhyjQ== 2fdeb8e7d030a2209daa01861a964fedecf2bcc1 diff --git a/tools/tcg_rim_tool/src/test/resources/generated_user_cert.swidtag b/tools/tcg_rim_tool/src/test/resources/generated_user_cert.swidtag index a86b1edb..212a307f 100644 --- a/tools/tcg_rim_tool/src/test/resources/generated_user_cert.swidtag +++ b/tools/tcg_rim_tool/src/test/resources/generated_user_cert.swidtag @@ -3,7 +3,7 @@ - + @@ -17,14 +17,14 @@ - 97uWB7zSsO5WaGbrcQrlKd1Bju0aDTjK1/ktUYBje8A= + K3XoBeYvgJBAKl8z273sL7z38qLLVBKLfUPt/gPUzBI= - N1YtTeo2Ryuj+CtlXIpICEay+ni7vt8+4J7tAsYpa3efnLwtea69PIqEylPWm9LdA8Eo8XDdpgxV -7h3hi2LTOU+Wxq3bLiLamo99T1EtIwl+ZPcOv8bsfEkmShHdMC0dlfcj6r7x4tc0XkNAhhJgfRNz -FsmPWKJb6FYcsHFbHO/Uw1hSokbAGcWWTshEOqvKHMa8UVkrFMUPnrnMtdyJqZlhDBrZHNi4rWth -8TjlUnQVSCF9s9I04FxJ1cUAdeVMHtXKM8Pvjv68PaJMJK73dW5Yd3SbcgoKLesf/HPWeeZL0rr4 -TNjlqJ/wq61Ons45MFG9bIscVbnd+XxFHx8Skw== + cIl1gPsUyEj2gDv3HTWNFDVxtcBjz4Revxxf2LJejtOXQW8mGepZH8CnvgO7zCAbZYlYUZXjYZ9M +jONVv8dcsAjVHRnP6YHywFfmSm8LUCwxsfuZQqn5jClqzu5VaqLzBhuJYvCpiEdIDJwDINQuORUB +nzul1CWc3Sm1Ms2wjlIq5ctWWJcddhdyIOjl8/oD4EC5E2rOSfNcRMZxldXtie9iinFGVbr0YNE+ ++lQ7hAU+SyV8RMx9tGnnsO8otwV4ddF+OfemcbzWGYBenLs3A8ZqWZyTvWphCgGqDUbOLssYciCC +mnYm5QOeh4QcE9H2kqTgZvcyCgPL/hDC7xhyjQ== diff --git a/tools/tcg_rim_tool/src/test/resources/generated_user_cert_embed.swidtag b/tools/tcg_rim_tool/src/test/resources/generated_user_cert_embed.swidtag index dc711f3e..f47230cf 100644 --- a/tools/tcg_rim_tool/src/test/resources/generated_user_cert_embed.swidtag +++ b/tools/tcg_rim_tool/src/test/resources/generated_user_cert_embed.swidtag @@ -3,7 +3,7 @@ - + @@ -17,14 +17,14 @@ - 97uWB7zSsO5WaGbrcQrlKd1Bju0aDTjK1/ktUYBje8A= + K3XoBeYvgJBAKl8z273sL7z38qLLVBKLfUPt/gPUzBI= - N1YtTeo2Ryuj+CtlXIpICEay+ni7vt8+4J7tAsYpa3efnLwtea69PIqEylPWm9LdA8Eo8XDdpgxV -7h3hi2LTOU+Wxq3bLiLamo99T1EtIwl+ZPcOv8bsfEkmShHdMC0dlfcj6r7x4tc0XkNAhhJgfRNz -FsmPWKJb6FYcsHFbHO/Uw1hSokbAGcWWTshEOqvKHMa8UVkrFMUPnrnMtdyJqZlhDBrZHNi4rWth -8TjlUnQVSCF9s9I04FxJ1cUAdeVMHtXKM8Pvjv68PaJMJK73dW5Yd3SbcgoKLesf/HPWeeZL0rr4 -TNjlqJ/wq61Ons45MFG9bIscVbnd+XxFHx8Skw== + cIl1gPsUyEj2gDv3HTWNFDVxtcBjz4Revxxf2LJejtOXQW8mGepZH8CnvgO7zCAbZYlYUZXjYZ9M +jONVv8dcsAjVHRnP6YHywFfmSm8LUCwxsfuZQqn5jClqzu5VaqLzBhuJYvCpiEdIDJwDINQuORUB +nzul1CWc3Sm1Ms2wjlIq5ctWWJcddhdyIOjl8/oD4EC5E2rOSfNcRMZxldXtie9iinFGVbr0YNE+ ++lQ7hAU+SyV8RMx9tGnnsO8otwV4ddF+OfemcbzWGYBenLs3A8ZqWZyTvWphCgGqDUbOLssYciCC +mnYm5QOeh4QcE9H2kqTgZvcyCgPL/hDC7xhyjQ== CN=example.RIM.signer,OU=PCClient,O=Example,ST=VA,C=US