I have uploaded a .pfx certificate in Azure key vault and trying to use that to send a request to an API
I am reading the certificate and secret with the following code
credential = DefaultAzureCredential()
certificate_client = CertificateClient(
vault_url="https://something.vault.azure.net/", credential=credential
)
certificate = certificate_client.get_certificate("aemocert")
secret_client = SecretClient(
vault_url="https://something.vault.azure.net/", credential=credential
)
secret = secret_client.get_secret(certificate.name)
now I have to convert the data received into a certificate so I Can use it in the following request
url= "https://myurl"
headers = {"X-id": "dsd"}
data = {"test":"test"}
requests.request(
"POST",
"url = url,
headers=headers,
data=data,
cert=**cert**,
timeout=10,
)
I have tried following code
base64_bytes = secret.value.encode("ascii")
message_bytes = base64.b64decode(base64_bytes)
cert = x509.load_der_x509_certificate(message_bytes)
but get this error
Exception: ValueError: error parsing asn1 value: ParseError { kind: UnexpectedTag { actual: Tag { value: 2, constructed: false, class: Universal } }, location: ["Certificate::tbs_cert"] }
If I use following code
cert = crypto.load_pkcs12(base64.b64decode(secret.value))
I get error
Exception: TypeError: 'PKCS12' object is not subscriptable