java: CertHacker: Sanitize the XML data before passing to XML parser
- Remove whitespaces - Remove Byte Order Mark (BOM) Fixes #12 Signed-off-by: Dakkshesh <beakthoven@gmail.com>
This commit is contained in:
@@ -229,10 +229,23 @@ object CertificateHacker {
|
||||
|
||||
override fun hashCode(): Int = digest.contentHashCode()
|
||||
}
|
||||
|
||||
|
||||
|
||||
fun String.sanitizeXml(): String {
|
||||
var content = this
|
||||
|
||||
val boms = listOf(
|
||||
"\uFEFF",
|
||||
"\uFFFE",
|
||||
"\u0000\uFEFF"
|
||||
)
|
||||
content = content.trimStart()
|
||||
for (bom in boms) {
|
||||
content = content.removePrefix(bom)
|
||||
}
|
||||
content = content.trimStart()
|
||||
|
||||
return content.trimEnd()
|
||||
}
|
||||
|
||||
fun readFromXml(xmlData: String?) {
|
||||
keyboxes.clear()
|
||||
@@ -244,7 +257,7 @@ object CertificateHacker {
|
||||
}
|
||||
|
||||
try {
|
||||
val xmlParser = XmlParser(xmlData)
|
||||
val xmlParser = XmlParser(xmlData.sanitizeXml())
|
||||
|
||||
val numberOfKeyboxesResult = xmlParser.obtainPath("AndroidAttestation.NumberOfKeyboxes")
|
||||
val numberOfKeyboxes = when (numberOfKeyboxesResult) {
|
||||
|
||||
Reference in New Issue
Block a user