ps/Modules/Alkami.DevOps.Certificates/Private/Confirm-Cert.ps1

47 lines
1.4 KiB
PowerShell
Raw Permalink Normal View History

2023-05-30 22:51:22 -07:00
function Confirm-Cert {
<#
.SYNOPSIS
Validates that Certificate is provided.
#>
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true)]
[string]$certName,
[parameter(Mandatory=$true)]
[System.Security.Cryptography.X509Certificates.StoreName]$storeName
)
try
{
$OriginalErrorActionPreference = $ErrorActionPreference;
$ErrorActionPreference = "Continue";
Write-Output ("Validating certificate $certName");
[Alkami.Ops.Common.Cryptography.CertificateHelper]::ValidateCertificate(
$certName,
$storeName,
[System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine);
Write-Output ("Certificate $certName Passed Validation");
}
catch [Alkami.Ops.Common.Exceptions.InvalidCertificateException]
{
Write-Warning ("Certificate validation failed");
Write-Host (" Error: " + $_.Exception.Message);
Write-Host (" Name: " + $_.Exception.CertificateName);
Write-Host (" Thumbprint: " + $_.Exception.CertificateThumbPrint);
Write-Host (" Effective Date: " + $_.Exception.EffectiveDateTime);
Write-Host (" Expiration Date: " + $_.Exception.ExpirationDateTime + "`n");
}
finally
{
$ErrorActionPreference = $OriginalErrorActionPreference;
}
}