Создание сертификата Azure в Python - PullRequest
0 голосов
/ 19 января 2019

Я использую Python для автоматизации создания сертификата службы приложений для моего приложения Azure (кластер AKS). Один из вызовов REST, которые мне нужно сделать, описан здесь:

https://docs.microsoft.com/en-us/rest/api/appservice/appservicecertificateorders/createorupdate

Здесь описывается вызов, необходимый для создания заказа на сертификацию службы приложений, результат которого затем передается вызову REST для создания сертификата службы приложения.

Моя проблема в том, что я не могу понять из разреженной документации, что нужно в теле запроса для этого вызова REST. Я построил структуру, которая выглядит следующим образом:

request_body = {
    "location" : "eastus",
    "properties" : {
        "autoRenew" : true,
        "productType" : "StandardDomainValidatedSsl",
        "distinguishedName": "???",
        "csr": "???"
    }
}

Мне не удалось выяснить, что нужно для этих двух последних полей. Поле csr описывается как «Последний CSR, который был создан для этого заказа», причем CSR ссылается на запрос подписи сертификата. То, как это сформулировано, подразумевает, что был предыдущий CSR, но это новый запрос, и мне нечего заполнять здесь ранее. Если я пытаюсь оставить distguishedName и csr пустыми, вызов будет жаловаться. Я попытался создать CSR с помощью openssl и установить в поле csr значение, которое было создано, но ему это не нравится. Я полагаю, что поле difquishedName должно иметь вид

"CN=mydomain.com,C=US,ST=California,..."

но всегда жалуется, что все, что я предоставляю, недействительно.

Я провел несколько поисков и не могу найти примеров того, что нужно для этого вызова REST. Если кто-то может указать мне пример кода или дополнительную документацию, я был бы признателен. Спасибо.

Peter

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Я наконец определил, что эта комбинация работает:

{
    "location": "global",
    "properties": {
        "productType": "StandardDomainValidatedSsl",
        "autoRenew": true,
        "distinguishedName":"CN=mysubdomain.mydomain.com"
    }
}

Поле csr, как оказалось, не нужно;один возвращается в результате выполнения этого вызова REST.И это только первый шаг в процессе создания сертификата.На данный момент запрос находится в состоянии ожидания и все еще нуждается в проверке.

0 голосов
/ 19 января 2019

CSR выглядит примерно так:

-----BEGIN CERTIFICATE REQUEST-----
MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBFV0YWgxDzANBgNV
BAcMBkxpbmRvbjEWMBQGA1UECgwNRGlnaUNlcnQgSW5jLjERMA8GA1UECwwIRGln
aUNlcnQxHTAbBgNVBAMMFGV4YW1wbGUuZGlnaWNlcnQuY29tMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8+To7d+2kPWeBv/orU3LVbJwDrSQbeKamCmo
wp5bqDxIwV20zqRb7APUOKYoVEFFOEQs6T6gImnIolhbiH6m4zgZ/CPvWBOkZc+c
1Po2EmvBz+AD5sBdT5kzGQA6NbWyZGldxRthNLOs1efOhdnWFuhI162qmcflgpiI
WDuwq4C9f+YkeJhNn9dF5+owm8cOQmDrV8NNdiTqin8q3qYAHHJRW28glJUCZkTZ
wIaSR6crBQ8TbYNE0dc+Caa3DOIkz1EOsHWzTx+n0zKfqcbgXi4DJx+C1bjptYPR
BPZL8DAeWuA8ebudVT44yEp82G96/Ggcf7F33xMxe0yc+Xa6owIDAQABoAAwDQYJ
KoZIhvcNAQEFBQADggEBAB0kcrFccSmFDmxox0Ne01UIqSsDqHgL+XmHTXJwre6D
hJSZwbvEtOK0G3+dr4Fs11WuUNt5qcLsx5a8uk4G6AKHMzuhLsJ7XZjgmQXGECpY
Q4mC3yT3ZoCGpIXbw+iP3lmEEXgaQL0Tx5LFl/okKbKYwIqNiyKWOMj7ZR/wxWg/
ZDGRs55xuoeLDJ/ZRFf9bI+IaCUd1YrfYcHIl3G87Av+r49YVwqRDT0VDV7uLgqn
29XI1PpVUNCPQGn9p/eX6Qo7vpDaPybRtA2R7XLKjQaF9oXWeCUqy1hvJac9QFO2
97Ob1alpHPoZ7mWiEuJwjBPii6a9M9G30nUo39lBi1w=
-----END CERTIFICATE REQUEST-----
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...