Chilkat Online Tools

DescribeCertificate autoit Example

AWS Certificate Manager

; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oRest = ObjCreate("Chilkat_9_5_0.Rest")
Local $bSuccess

$oAuthAws = ObjCreate("Chilkat_9_5_0.AuthAws")
$oAuthAws.AccessKey = "AWS_ACCESS_KEY"
$oAuthAws.SecretKey = "AWS_SECRET_KEY"

; Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
$oAuthAws.Region = "us-west-2"
$oAuthAws.ServiceName = "acm"
; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
$oRest.SetAuthAws($oAuthAws)

; URL: https://acm.us-west-2.amazonaws.com/
; Use the same region as specified above.
$bSuccess = $oRest.Connect("acm.us-west-2.amazonaws.com",443,True,True)
If ($bSuccess <> True) Then
    ConsoleWrite("ConnectFailReason: " & $oRest.ConnectFailReason & @CRLF)
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

; The following code creates the JSON request body.
; The JSON created by this code is shown below.

; Use this online tool to generate code from sample JSON:
; Generate Code to Create JSON

$oJson = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJson.UpdateString("CertificateArn","string")

; The JSON request body created by the above code:

; {
;   "CertificateArn": "string"
; }

$oRest.AddHeader("Content-Type","application/x-amz-json-1.1")
$oRest.AddHeader("X-Amz-Target","CertificateManager.DescribeCertificate")

$oSbRequestBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$oJson.EmitSb($oSbRequestBody)
$oSbResponseBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$bSuccess = $oRest.FullRequestSb("POST","/",$oSbRequestBody,$oSbResponseBody)
If ($bSuccess <> True) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

Local $iRespStatusCode = $oRest.ResponseStatusCode
ConsoleWrite("response status code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode <> 200) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oRest.ResponseHeader & @CRLF)
    ConsoleWrite("Response Body:" & @CRLF)
    ConsoleWrite($oSbResponseBody.GetAsString() & @CRLF)
    Exit
EndIf

$oJResp = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJResp.LoadSb($oSbResponseBody)

; The following code parses the JSON response.
; A sample JSON response is shown below the sample code.

; Use this online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON

Local $sName
Local $sResourceRecordType
Local $sValue
Local $sValidationDomain
Local $sValidationMethod
Local $sValidationStatus
Local $iJ
Local $iCount_j
Local $strVal
Local $sOID
Local $sResourceRecordName
Local $sResourceRecordValue

Local $sCertificateArn = $oJResp.StringOf("Certificate.CertificateArn")
Local $sCertificateAuthorityArn = $oJResp.StringOf("Certificate.CertificateAuthorityArn")
Local $iCreatedAt = $oJResp.IntOf("Certificate.CreatedAt")
Local $sDomainName = $oJResp.StringOf("Certificate.DomainName")
Local $sFailureReason = $oJResp.StringOf("Certificate.FailureReason")
Local $iImportedAt = $oJResp.IntOf("Certificate.ImportedAt")
Local $iIssuedAt = $oJResp.IntOf("Certificate.IssuedAt")
Local $sIssuer = $oJResp.StringOf("Certificate.Issuer")
Local $sKeyAlgorithm = $oJResp.StringOf("Certificate.KeyAlgorithm")
Local $iNotAfter = $oJResp.IntOf("Certificate.NotAfter")
Local $iNotBefore = $oJResp.IntOf("Certificate.NotBefore")
Local $sCertificateTransparencyLoggingPreference = $oJResp.StringOf("Certificate.Options.CertificateTransparencyLoggingPreference")
Local $sRenewalEligibility = $oJResp.StringOf("Certificate.RenewalEligibility")
Local $sRenewalStatus = $oJResp.StringOf("Certificate.RenewalSummary.RenewalStatus")
Local $sRenewalStatusReason = $oJResp.StringOf("Certificate.RenewalSummary.RenewalStatusReason")
Local $iUpdatedAt = $oJResp.IntOf("Certificate.RenewalSummary.UpdatedAt")
Local $sRevocationReason = $oJResp.StringOf("Certificate.RevocationReason")
Local $iRevokedAt = $oJResp.IntOf("Certificate.RevokedAt")
Local $sSerial = $oJResp.StringOf("Certificate.Serial")
Local $sSignatureAlgorithm = $oJResp.StringOf("Certificate.SignatureAlgorithm")
Local $sStatus = $oJResp.StringOf("Certificate.Status")
Local $sSubject = $oJResp.StringOf("Certificate.Subject")
Local $sV_Type = $oJResp.StringOf("Certificate.Type")
Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("Certificate.DomainValidationOptions")
While $i < $iCount_i
    $oJResp.I = $i
    $sDomainName = $oJResp.StringOf("Certificate.DomainValidationOptions[i].DomainName")
    $sName = $oJResp.StringOf("Certificate.DomainValidationOptions[i].ResourceRecord.Name")
    $sResourceRecordType = $oJResp.StringOf("Certificate.DomainValidationOptions[i].ResourceRecord.Type")
    $sValue = $oJResp.StringOf("Certificate.DomainValidationOptions[i].ResourceRecord.Value")
    $sValidationDomain = $oJResp.StringOf("Certificate.DomainValidationOptions[i].ValidationDomain")
    $sValidationMethod = $oJResp.StringOf("Certificate.DomainValidationOptions[i].ValidationMethod")
    $sValidationStatus = $oJResp.StringOf("Certificate.DomainValidationOptions[i].ValidationStatus")
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("Certificate.DomainValidationOptions[i].ValidationEmails")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("Certificate.DomainValidationOptions[i].ValidationEmails[j]")
        $iJ = $iJ + 1
    Wend
    $i = $i + 1
Wend
$i = 0
$iCount_i = $oJResp.SizeOfArray("Certificate.ExtendedKeyUsages")
While $i < $iCount_i
    $oJResp.I = $i
    $sName = $oJResp.StringOf("Certificate.ExtendedKeyUsages[i].Name")
    $sOID = $oJResp.StringOf("Certificate.ExtendedKeyUsages[i].OID")
    $i = $i + 1
Wend
$i = 0
$iCount_i = $oJResp.SizeOfArray("Certificate.InUseBy")
While $i < $iCount_i
    $oJResp.I = $i
    $strVal = $oJResp.StringOf("Certificate.InUseBy[i]")
    $i = $i + 1
Wend
$i = 0
$iCount_i = $oJResp.SizeOfArray("Certificate.KeyUsages")
While $i < $iCount_i
    $oJResp.I = $i
    $sName = $oJResp.StringOf("Certificate.KeyUsages[i].Name")
    $i = $i + 1
Wend
$i = 0
$iCount_i = $oJResp.SizeOfArray("Certificate.RenewalSummary.DomainValidationOptions")
While $i < $iCount_i
    $oJResp.I = $i
    $sDomainName = $oJResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].DomainName")
    $sResourceRecordName = $oJResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ResourceRecord.Name")
    $sResourceRecordType = $oJResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ResourceRecord.Type")
    $sResourceRecordValue = $oJResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ResourceRecord.Value")
    $sValidationDomain = $oJResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationDomain")
    $sValidationMethod = $oJResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationMethod")
    $sValidationStatus = $oJResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationStatus")
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationEmails")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("Certificate.RenewalSummary.DomainValidationOptions[i].ValidationEmails[j]")
        $iJ = $iJ + 1
    Wend
    $i = $i + 1
Wend
$i = 0
$iCount_i = $oJResp.SizeOfArray("Certificate.SubjectAlternativeNames")
While $i < $iCount_i
    $oJResp.I = $i
    $strVal = $oJResp.StringOf("Certificate.SubjectAlternativeNames[i]")
    $i = $i + 1
Wend

; A sample JSON response body parsed by the above code:

; {
;   "Certificate": {
;     "CertificateArn": "string",
;     "CertificateAuthorityArn": "string",
;     "CreatedAt": number,
;     "DomainName": "string",
;     "DomainValidationOptions": [
;       {
;         "DomainName": "string",
;         "ResourceRecord": {
;           "Name": "string",
;           "Type": "string",
;           "Value": "string"
;         },
;         "ValidationDomain": "string",
;         "ValidationEmails": [
;           "string"
;         ],
;         "ValidationMethod": "string",
;         "ValidationStatus": "string"
;       }
;     ],
;     "ExtendedKeyUsages": [
;       {
;         "Name": "string",
;         "OID": "string"
;       }
;     ],
;     "FailureReason": "string",
;     "ImportedAt": number,
;     "InUseBy": [
;       "string"
;     ],
;     "IssuedAt": number,
;     "Issuer": "string",
;     "KeyAlgorithm": "string",
;     "KeyUsages": [
;       {
;         "Name": "string"
;       }
;     ],
;     "NotAfter": number,
;     "NotBefore": number,
;     "Options": {
;       "CertificateTransparencyLoggingPreference": "string"
;     },
;     "RenewalEligibility": "string",
;     "RenewalSummary": {
;       "DomainValidationOptions": [
;         {
;           "DomainName": "string",
;           "ResourceRecord": {
;             "Name": "string",
;             "Type": "string",
;             "Value": "string"
;           },
;           "ValidationDomain": "string",
;           "ValidationEmails": [
;             "string"
;           ],
;           "ValidationMethod": "string",
;           "ValidationStatus": "string"
;         }
;       ],
;       "RenewalStatus": "string",
;       "RenewalStatusReason": "string",
;       "UpdatedAt": number
;     },
;     "RevocationReason": "string",
;     "RevokedAt": number,
;     "Serial": "string",
;     "SignatureAlgorithm": "string",
;     "Status": "string",
;     "Subject": "string",
;     "SubjectAlternativeNames": [
;       "string"
;     ],
;     "Type": "string"
;   }
; }