Skip to content

get_idp_cert() erroneously returns wrong private key from data.mdb #6

Description

@i128

For VMware vSphere 6.7.0.4600, the get_idp_cert() function returns the first instance of bytes found that it thinks are a private key. I do see you perform a check_key_valid() to check if its a true cert or not. But unfortunately, these false positives pass the check.

Consequently, the private key is invalid and the SAML assertion can not be signed.

image

A quick fix to address the issue was comment out like 135 (which returns the key) and instead write all possible keys to separate files.

image

then with each key, i ran openssl rsa -noout -text -in $keyname to check if the key was valid or not. Out of the 100+ possible private keys extracted by get_idp_cert() one eventually was found to be correct. This key was then manually fed into sign_assertion()

image

Im sure there's a better way to address this. But it was the fix that worked for me at the time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions