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()
|
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?) {
|
fun readFromXml(xmlData: String?) {
|
||||||
keyboxes.clear()
|
keyboxes.clear()
|
||||||
@@ -244,7 +257,7 @@ object CertificateHacker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val xmlParser = XmlParser(xmlData)
|
val xmlParser = XmlParser(xmlData.sanitizeXml())
|
||||||
|
|
||||||
val numberOfKeyboxesResult = xmlParser.obtainPath("AndroidAttestation.NumberOfKeyboxes")
|
val numberOfKeyboxesResult = xmlParser.obtainPath("AndroidAttestation.NumberOfKeyboxes")
|
||||||
val numberOfKeyboxes = when (numberOfKeyboxesResult) {
|
val numberOfKeyboxes = when (numberOfKeyboxesResult) {
|
||||||
|
|||||||
Reference in New Issue
Block a user