У меня есть следующий код на С#, который выполняет нужную мне работу:
//Try create an X509 cert object
X509Certificate x509Cert = new X509Certificate("C:/Users/mryan/Documents/Code/SampleApps/bundle.p12", "passphrase");
//Serialize Cert and POST to server
string devString = Newtonsoft.Json.JsonConvert.SerializeObject(x509Cert);
result = wc.UploadString(apiRoot + "/Accounts/" + accId + "/certs", "POST", devString)
Итак, здесь devString
будет равно:
"{\"RawData\":\"MIICiTCCAfKgAwI...OhpEV23wsm06G2s5OJk=\"}"
Насколько я могу судить, RawData
— это свойство в x509Cert, равное массиву байтов.
Есть ли какой-нибудь очевидный модуль в python, который может достичь того же результата? Я просматривал этот ответ, но не могу сказать, отражает ли он то, чего я хочу достичь.
Желаемый псевдокод Python:
#Create X509 Cert object
x509cert = module.readX509Certificate("C:/Users/mryan/Documents/Code/SampleApps/bundle.p12", "passphrase")
cert_data = {"RawData": x509Cert}
result = requests.post(apiRoot + "/Accounts/" + accId + "/certs", data=cert_data)
Любые идеи о том, как справиться с этим, были бы замечательными!