Adds function to fetch local Icinga 2 Agent host certificate

This commit is contained in:
Christian Stein 2020-03-24 20:10:41 +01:00
parent df7be4a317
commit 9221cb050d

View file

@ -0,0 +1,27 @@
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;
'Subject' = $Certificate.SubjectName;
'Thumbprint' = $Certificate.Thumbprint;
};
}