diff --git a/keyfinder.py b/keyfinder.py index c8cf151..8733947 100755 --- a/keyfinder.py +++ b/keyfinder.py @@ -36,7 +36,7 @@ jrex_t = b'{[^{}]*"kty"[^}]*}' jrex = re.compile(jrex_t, flags=re.MULTILINE | re.DOTALL) -xrex_t = b"(?=())" +xrex_t = b"(?=(<(?:RSAKeyPair|RSAKeyValue).*?))" xrex = re.compile(xrex_t, flags=re.MULTILINE | re.DOTALL) DEFAULTUA = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " @@ -281,7 +281,8 @@ def getjwk(kstr): return False -def getxkms(kstr): +# Supports XKMS 2.0, XKMS draft version, .NET XML keys +def getxmlkey(kstr): # remove draft-style namespaces xkstr = kstr.replace("ds:", "") try: @@ -356,7 +357,7 @@ def findkeys(data, perr=None, usebk=False, verbose=False): if not ckey: writeperr(perr, jkey, phash, verbose=verbose) - if b" + + sNGDUqiPU9VRb0bCDno2fX3ois9UoBn23vV6ubRM7dsiQrG8oPsbXLgrMDYXamOQNWTexutB2y+Px4f05S4RSeMzR1cpc/Zgw8d8qeCCHCtpW+eunX0w9AeREPSKrm+LcC1HSykAgX8oZiSb7BKisZuCeEFoCPga4fz5t3eKYj8= + AQAB +

6dhuTcNKmFp+x1pvVKdc5FE55FJAs4arcR23kbzZhxihO68hjCRJNkZoB1bLUKbL7hWOJSFEmRIwHA1BSREYRQ==

+ wZH6O1ULORp8sHKDdidyleYcZU8L7y9Y3OXJYqELfddfBgFUZeVQduRmJj7ryu0g0uurOTE+i8VnMg/ostxisw== + 5zrgN3y4slYprq66D5c+v3WiLSc4W0z7Ees0raNz5aZxKDdQkOcAje6oxzkH6kREurQNzqFK16GoeNSSjdGdkQ== + QZl5FhZyIT4Kt7l3N9mSiZ5cTTEGuF5xXRs6roQpYtJUT7KvqYCXTlOFEr0MJ89I6nIXquA3dCLIID0n/UWW5Q== + uZ1/j01NRV8fukYtmQouhIxCjB6+4B3AAYTIp2WDrTefaa2vVHVUMPY8QlPRu3jMm9IyZDQAgLhMGpF94Itu2w== + SC6fj6TkLfMNdYHLQqG9kOlPfys4fstarpZD7X+fUBJ/H/7y5DzeZLGCYAIU+QeAHWv6TfZIQjReW7Qy00RFJdgwFlTFRCsKXhG5x+IB+jL0Grr08KbgPPDgy4JmxirRHZVtU8lGbkiZX+omDIU28EHLNWL6rFEcTWao/tERspE= +