ps/Modules/Alkami.DevOps.Certificates/Private/Get-CertificateExportName.ps1
2023-05-30 22:51:22 -07:00

19 lines
611 B
PowerShell

function Get-CertificateExportName {
<#
.SYNOPSIS
Fetches a Certificate's Export Name.
#>
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
$Cert
)
$canonicalName = ($cert.Subject.Trim().Split(",") | Where-Object {$_ -match "CN="} | Select-Object -First 1 ) -replace "CN=", ""
$invalidFileNameChars = [IO.Path]::GetInvalidFileNameChars() -join ''
$validFileNameCN = ($canonicalName -replace ("[{0}]" -f [RegEx]::Escape($invalidFileNameChars)))
$certName = if ($validFileNameCN) { $validFileNameCN } else { $cert.Thumbprint }
return $certName.Trim()
}