2020-03-24 15:10:41 -04:00
|
|
|
function Get-IcingaAgentHostCertificate()
|
|
|
|
|
{
|
|
|
|
|
# Default for Icinga 2.8.0 and above
|
|
|
|
|
[string]$CertDirectory = (Join-Path -Path $Env:ProgramData -ChildPath 'icinga2\var\lib\icinga2\certs\*');
|
|
|
|
|
$FolderContent = Get-ChildItem -Path $CertDirectory -Filter '*.crt' -Exclude 'ca.crt';
|
|
|
|
|
$Hostname = Get-IcingaHostname -LowerCase $TRUE;
|
|
|
|
|
$CertPath = $null;
|
|
|
|
|
|
|
|
|
|
foreach ($certFile in $FolderContent) {
|
|
|
|
|
if ($certFile.Name.Contains($Hostname)) {
|
|
|
|
|
$CertPath = $certFile.FullName;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ([string]::IsNullOrEmpty($CertPath)) {
|
|
|
|
|
return $null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$Certificate = New-Object Security.Cryptography.X509Certificates.X509Certificate2 $CertPath;
|
|
|
|
|
|
|
|
|
|
return @{
|
|
|
|
|
'CertFile' = $CertPath;
|
2020-03-25 02:48:55 -04:00
|
|
|
'Subject' = $Certificate.Subject;
|
2020-03-24 15:10:41 -04:00
|
|
|
'Thumbprint' = $Certificate.Thumbprint;
|
|
|
|
|
};
|
|
|
|
|
}
|