46 lines
1.2 KiB
PowerShell
46 lines
1.2 KiB
PowerShell
|
|
function Revoke-SectigoCertificate {
|
|
[CmdletBinding(SupportsShouldProcess=$true)]
|
|
param (
|
|
[string]$ApiToken=$env:SectigoToken,
|
|
|
|
[int]$reasonCode=4,
|
|
[Parameter(Mandatory=$true)]
|
|
[string]$reason,
|
|
[Parameter(Mandatory=$true)]
|
|
[string]$OrderId
|
|
)
|
|
|
|
if (-Not $ApiToken) {
|
|
$ApiToken=Read-Host
|
|
}
|
|
. $PSScriptRoot\..\Private\Set-Onload.ps1
|
|
|
|
[string]$RevokeUrl = "${BaseAPIUrl}/api/ssl/v1/revoke/${OrderId}"
|
|
|
|
Write-Verbose -Verbose "RequestUrl: $RevokeUrl"
|
|
|
|
$headers = @{
|
|
"Authorization" = "Bearer $ApiToken"
|
|
"Content-Type" = "application/json" # <-- Cleaned up syntax
|
|
}
|
|
|
|
$body = @{
|
|
reasonCode = $reasonCode
|
|
reason = $reasonCode
|
|
}
|
|
|
|
$jsonBody = $body | ConvertTo-Json
|
|
|
|
# --- API Call ---
|
|
Write-Verbose "Attempting to retrieve certificate for Order ID: $OrderId"
|
|
|
|
try {
|
|
$response=Invoke-RestMethod -Uri $RevokeUrl -Method POST -Headers $headers -Body $jsonBody -ContentType "application/json"
|
|
return $response
|
|
"Success"
|
|
} catch {
|
|
Write-Error "API Request Failed: $($_.Exception.Message)"
|
|
return $null
|
|
}
|
|
} |