ApplicGate
(v12.0.8928.42004 started 2024-06-13 03:13:52 on VM2)

Sample PowerShell Script (.ps1) to generate server certificates:
Cut and paste the script to notepad and store it or click here to download.
Note: When storing this script there must be an empty line at the end. Otherwise the signature is not valid.
Write-Host "************************************************************"
Write-Host "*            Generate server certificate                   *"
Write-Host "*                                                          *"
Write-Host "* Example:                                                 *"
Write-Host "*   Input:                                                 *"
Write-Host "*     Servername:  www                                     *"
Write-Host "*     Domain:      test.com                                *"
Write-Host "*   Generates a certificate for server www.test.com        *"
Write-Host "*                                                          *"
Write-Host "* Hint:                                                    *"
Write-Host "*  Servername may be                                       *"
Write-Host "*       *  to generate a wildcard certificate              *"
Write-Host "*       .  no servername, use domain only                  *"
Write-Host "*                                                          *"
Write-Host "*     If the signing certificate could not be found:       *"
Write-Host "*       A new signing certificate will be created.         *"
Write-Host "*                                                          *"
Write-Host "*     ApplicGate Network Security (C) October 2023         *"
Write-Host "************************************************************"
$HashFile = "CAsavedHash.txt"  # Filename to store hash of signing certificate
# to allow execution of this PowerShell scripts:
#  Set-ExecutionPolicy Unrestricted -Scope Process
# or sign this script
#See also
#https://docs.microsoft.com/en-us/powershell/module/pkiclient/new-selfsignedcertificate?view=win10-ps
Try
{  
    Write-Host "Try to read saved hash of signing certificate from file" $HashFile "..."
    $CAhash = Get-Content $HashFile -ErrorAction Stop
    $SignCertPath = "Cert:\CurrentUser\My\" + $CAhash
    $SignCert = Get-ChildItem -Path $SignCertPath -ErrorAction Stop
}
Catch
{
    $xx = Read-Host -Prompt 'Saved hash of CA cannot be found or certificate not found. Generate new CA certificate? [Y/N]'
    If (!($xx.ToString().ToLower().Equals("y"))){Write-Host "Exit script!"; Return;}
    Write-Host "Generating CA certificate in certificate store CurrentUser ..."
    $mySubject = Read-Host -Prompt 'Enter Subject'
    if($mySubject.Equals("")) {return}
    $myOrganization = Read-Host -Prompt 'Enter Organization'
    if($myOrganization.Equals("")) {return}
    $Subject = "CN=" + $mySubject + ",O=" + $myOrganization
    $SignCert = New-SelfSignedCertificate -Type Custom -NotAfter (Get-Date).AddYears(15) -TextExtension @("2.5.29.19={critical}{text}ca=1&pathlength=2") -FriendlyName $mySubject -Subject $Subject -KeyUsage DigitalSignature,CertSign -KeyAlgorithm RSA -KeyLength 4096 -CertStoreLocation "Cert:\CurrentUser\My"
    $SignCert.Thumbprint | Out-File $HashFile
    $myFilePath = $mySubject.Replace(' ','_') + ".cer"
    Write-Host "Exporting " $myFilePath " ..."
    Export-Certificate -Cert $SignCert -FilePath $myFilePath -NoClobber 
}
Write-Host "Following certificate will be used for signing:"
$SignCert
Write-Host ""
Write-Host "Please enter following data to generate the server certificate:"
$Server = Read-Host -Prompt 'Servername (* for wildcard, . if no servername, no input for exit)'
if($Server.Equals("")) {Write-Host "No input, exit script!"; return;}
$Company = Read-Host -Prompt 'Domain'
if($Company.Equals("")) {Write-Host "No input, exit script!"; return;}
if($Server.Equals(".")) {$mySubject = $Company.ToLower().Replace(' ','');}
else {$mySubject = $Server.ToLower().Replace(' ','') + "." + $Company.ToLower().Replace(' ','');}
if($Server.Equals("*")) {$Server = "star"}
if($Server.Equals(".")) {$myFilePath0 = $Company.ToLower().Replace(' ','');}
else {$myFilePath0 = $Server.ToLower().Replace(' ','') + "." + $Company.ToLower().Replace(' ','');}
Write-Host "Generating certificate for $mySubject in certificate store CurrentUser\My ..."
$ServerCert = New-SelfSignedCertificate -Signer $SignCert -Type Custom -DnsName $mySubject -KeyAlgorithm RSA -KeyLength 2048 -CertStoreLocation "Cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(3)
Write-Host ""
Write-Host "Following certificate has been generated:"
$ServerCert
$xx = Read-Host -Prompt 'Export server certificate? [Y/N]'
If (!($xx.ToString().ToLower().Equals("y"))){Write-Host "Exit script!"; Return;}
$PW = Read-Host -Prompt 'Enter password for .pfx file'
if($PW.Equals("")) {Write-Host "No input, exit script!"; return;}
$mypwd = ConvertTo-SecureString -String $PW -Force -AsPlainText
$myFilePath = $myFilePath0 + ".pfx"
Write-Host "Exporting " $myFilePath " ..."
Export-PfxCertificate -Cert $ServerCert -ChainOption EndEntityCertOnly -FilePath $myFilePath -Password $mypwd -NoClobber 
$myFilePath = $myFilePath0 + ".cer"
Write-Host "Exporting " $myFilePath " ..."
Export-Certificate -Cert $ServerCert -FilePath $myFilePath -NoClobber 
$xx = Read-Host -Prompt 'Enter Return to exit'


# SIG # Begin signature block
# MIInCAYJKoZIhvcNAQcCoIIm+TCCJvUCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUiHwAkH9lecnGdCf3Hr/cpU+h
# QkSggiAaMIIFbzCCBFegAwIBAgIQSPyTtGBVlI02p8mKidaUFjANBgkqhkiG9w0B
# AQwFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVy
# MRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEh
# MB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTIxMDUyNTAwMDAw
# MFoXDTI4MTIzMTIzNTk1OVowVjELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1NlY3Rp
# Z28gTGltaXRlZDEtMCsGA1UEAxMkU2VjdGlnbyBQdWJsaWMgQ29kZSBTaWduaW5n
# IFJvb3QgUjQ2MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjeeUEiIE
# JHQu/xYjApKKtq42haxH1CORKz7cfeIxoFFvrISR41KKteKW3tCHYySJiv/vEpM7
# fbu2ir29BX8nm2tl06UMabG8STma8W1uquSggyfamg0rUOlLW7O4ZDakfko9qXGr
# YbNzszwLDO/bM1flvjQ345cbXf0fEj2CA3bm+z9m0pQxafptszSswXp43JJQ8mTH
# qi0Eq8Nq6uAvp6fcbtfo/9ohq0C/ue4NnsbZnpnvxt4fqQx2sycgoda6/YDnAdLv
# 64IplXCN/7sVz/7RDzaiLk8ykHRGa0c1E3cFM09jLrgt4b9lpwRrGNhx+swI8m2J
# mRCxrds+LOSqGLDGBwF1Z95t6WNjHjZ/aYm+qkU+blpfj6Fby50whjDoA7NAxg0P
# OM1nqFOI+rgwZfpvx+cdsYN0aT6sxGg7seZnM5q2COCABUhA7vaCZEao9XOwBpXy
# bGWfv1VbHJxXGsd4RnxwqpQbghesh+m2yQ6BHEDWFhcp/FycGCvqRfXvvdVnTyhe
# Be6QTHrnxvTQ/PrNPjJGEyA2igTqt6oHRpwNkzoJZplYXCmjuQymMDg80EY2NXyc
# uu7D1fkKdvp+BRtAypI16dV60bV/AK6pkKrFfwGcELEW/MxuGNxvYv6mUKe4e7id
# FT/+IAx1yCJaE5UZkADpGtXChvHjjuxf9OUCAwEAAaOCARIwggEOMB8GA1UdIwQY
# MBaAFKARCiM+lvEH7OKvKe+CpX/QMKS0MB0GA1UdDgQWBBQy65Ka/zWWSC8oQEJw
# IDaRXBeF5jAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zATBgNVHSUE
# DDAKBggrBgEFBQcDAzAbBgNVHSAEFDASMAYGBFUdIAAwCAYGZ4EMAQQBMEMGA1Ud
# HwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0FBQUNlcnRpZmlj
# YXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0
# cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUAA4IBAQASv6Hvi3Sa
# mES4aUa1qyQKDKSKZ7g6gb9Fin1SB6iNH04hhTmja14tIIa/ELiueTtTzbT72ES+
# BtlcY2fUQBaHRIZyKtYyFfUSg8L54V0RQGf2QidyxSPiAjgaTCDi2wH3zUZPJqJ8
# ZsBRNraJAlTH/Fj7bADu/pimLpWhDFMpH2/YGaZPnvesCepdgsaLr4CnvYFIUoQx
# 2jLsFeSmTD1sOXPUC4U5IOCFGmjhp0g4qdE2JXfBjRkWxYhMZn0vY86Y6GnfrDyo
# XZ3JHFuu2PMvdM+4fvbXg50RlmKarkUT2n/cR/vfw1Kf5gZV6Z2M8jpiUbzsJA8p
# 1FiAhORFe1rYMIIGGjCCBAKgAwIBAgIQYh1tDFIBnjuQeRUgiSEcCjANBgkqhkiG
# 9w0BAQwFADBWMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVk
# MS0wKwYDVQQDEyRTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgUm9vdCBSNDYw
# HhcNMjEwMzIyMDAwMDAwWhcNMzYwMzIxMjM1OTU5WjBUMQswCQYDVQQGEwJHQjEY
# MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSswKQYDVQQDEyJTZWN0aWdvIFB1Ymxp
# YyBDb2RlIFNpZ25pbmcgQ0EgUjM2MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIB
# igKCAYEAmyudU/o1P45gBkNqwM/1f/bIU1MYyM7TbH78WAeVF3llMwsRHgBGRmxD
# eEDIArCS2VCoVk4Y/8j6stIkmYV5Gej4NgNjVQ4BYoDjGMwdjioXan1hlaGFt4Wk
# 9vT0k2oWJMJjL9G//N523hAm4jF4UjrW2pvv9+hdPX8tbbAfI3v0VdJiJPFy/7Xw
# iunD7mBxNtecM6ytIdUlh08T2z7mJEXZD9OWcJkZk5wDuf2q52PN43jc4T9OkoXZ
# 0arWZVeffvMr/iiIROSCzKoDmWABDRzV/UiQ5vqsaeFaqQdzFf4ed8peNWh1OaZX
# nYvZQgWx/SXiJDRSAolRzZEZquE6cbcH747FHncs/Kzcn0Ccv2jrOW+LPmnOyB+t
# AfiWu01TPhCr9VrkxsHC5qFNxaThTG5j4/Kc+ODD2dX/fmBECELcvzUHf9shoFvr
# n35XGf2RPaNTO2uSZ6n9otv7jElspkfK9qEATHZcodp+R4q2OIypxR//YEb3fkDn
# 3UayWW9bAgMBAAGjggFkMIIBYDAfBgNVHSMEGDAWgBQy65Ka/zWWSC8oQEJwIDaR
# XBeF5jAdBgNVHQ4EFgQUDyrLIIcouOxvSK4rVKYpqhekzQwwDgYDVR0PAQH/BAQD
# AgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwGwYD
# VR0gBBQwEjAGBgRVHSAAMAgGBmeBDAEEATBLBgNVHR8ERDBCMECgPqA8hjpodHRw
# Oi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29QdWJsaWNDb2RlU2lnbmluZ1Jvb3RS
# NDYuY3JsMHsGCCsGAQUFBwEBBG8wbTBGBggrBgEFBQcwAoY6aHR0cDovL2NydC5z
# ZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljQ29kZVNpZ25pbmdSb290UjQ2LnA3YzAj
# BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wDQYJKoZIhvcNAQEM
# BQADggIBAAb/guF3YzZue6EVIJsT/wT+mHVEYcNWlXHRkT+FoetAQLHI1uBy/YXK
# ZDk8+Y1LoNqHrp22AKMGxQtgCivnDHFyAQ9GXTmlk7MjcgQbDCx6mn7yIawsppWk
# vfPkKaAQsiqaT9DnMWBHVNIabGqgQSGTrQWo43MOfsPynhbz2Hyxf5XWKZpRvr3d
# MapandPfYgoZ8iDL2OR3sYztgJrbG6VZ9DoTXFm1g0Rf97Aaen1l4c+w3DC+IkwF
# kvjFV3jS49ZSc4lShKK6BrPTJYs4NG1DGzmpToTnwoqZ8fAmi2XlZnuchC4NPSZa
# PATHvNIzt+z1PHo35D/f7j2pO1S8BCysQDHCbM5Mnomnq5aYcKCsdbh0czchOm8b
# kinLrYrKpii+Tk7pwL7TjRKLXkomm5D1Umds++pip8wH2cQpf93at3VDcOK4N7Ew
# oIJB0kak6pSzEu4I64U6gZs7tS/dGNSljf2OSSnRr7KWzq03zl8l75jy+hOds9TW
# SenLbjBQUGR96cFr6lEUfAIEHVC1L68Y1GGxx4/eRI82ut83axHMViw1+sVpbPxg
# 51Tbnio1lB93079WPFnYaOvfGAA0e0zcfF/M9gXr+korwQTh2Prqooq2bYNMvUoU
# KD85gnJ+t0smrWrb8dee2CvYZXD5laGtaAxOfy/VKNmwuWuAh9kcMIIGnDCCBQSg
# AwIBAgIQFPNtM6KdazAAt8Rk1XcUjTANBgkqhkiG9w0BAQwFADBUMQswCQYDVQQG
# EwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSswKQYDVQQDEyJTZWN0aWdv
# IFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0EgUjM2MB4XDTIxMTIwMTAwMDAwMFoXDTI0
# MTEzMDIzNTk1OVowfTELMAkGA1UEBhMCQVQxGDAWBgNVBAgMD09iZXLDtnN0ZXJy
# ZWljaDEpMCcGA1UECgwgQXBwbGljR2F0ZSBOZXR3b3JrIFNlY3VyaXR5IGUuVS4x
# KTAnBgNVBAMMIEFwcGxpY0dhdGUgTmV0d29yayBTZWN1cml0eSBlLlUuMIICIjAN
# BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw/trlbHhQiznhuloCtjRlVXAsuiq
# GShZZQYDiMKcdKET5NKptbCLwnuu/GdZbRh5krDLpDEPoyaQ5fb3AN2faLl+fqrT
# V8wQS5GbU2tfj7Po3kZgVHfCvI530a2ERkeLAxkhbR/FW/+C0WkSzXqQhGNl9Vzo
# v7JxZmGrZIK1YiFTPBjpz7k1RYtBmr5oMjgY3FIN6uUp5yTaK0/EqfgFUpeK/jyd
# SqG8WTEoLqmlqtiYrDW4LM93asHko5yuyvJA14K3dWyH419U8V6b0Gyr4mzcdDZx
# Ws+Vu6R9RqiOn/01rGRDfP66U2A+rJ62hBrhNKB4+7liBSHZWtANf4sw+VwLYSqv
# OubRUSksse9X3wHE/umxvDG0sbLs6nrU9K5G2gYLmQfykw8o56IemNhPIDkFHex+
# pQ+xdTmRvfSL8WxymZV/07KJ9whfQDJHcjJoLu1wMGfIIGMUKTR0QMvUTzRXP8/v
# IDdhifeLI5bCH+PW/m/wI/ySkhfU92PegHQVp73FtZZGNr4OygMT9XozwbNjxczm
# x5v1VmHBFnrrheDbq8E2od7JeHPqK6Q+75A3c+VlKfMq3DzeYGrRbdsE1SjMjGl4
# KxA30AmvV5GdZmDe4Lrk4HmHZ2fC96tmNmWCpK2ixgG97IxkMLoEytNygeTAkCgL
# B5gRhBtiCVTGqQ0CAwEAAaOCAb8wggG7MB8GA1UdIwQYMBaAFA8qyyCHKLjsb0iu
# K1SmKaoXpM0MMB0GA1UdDgQWBBTqdAemneQS6/bCnhG0/PC/bQIwvjAOBgNVHQ8B
# Af8EBAMCB4AwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAzARBglg
# hkgBhvhCAQEEBAMCBBAwSgYDVR0gBEMwQTA1BgwrBgEEAbIxAQIBAwIwJTAjBggr
# BgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQQBMEkGA1Ud
# HwRCMEAwPqA8oDqGOGh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1B1Ymxp
# Y0NvZGVTaWduaW5nQ0FSMzYuY3JsMHkGCCsGAQUFBwEBBG0wazBEBggrBgEFBQcw
# AoY4aHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljQ29kZVNpZ25p
# bmdDQVIzNi5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29t
# MCEGA1UdEQQaMBiBFmNvbnRhY3RAYXBwbGljZ2F0ZS5jb20wDQYJKoZIhvcNAQEM
# BQADggGBAHzTfvZUnJUtMmfZ5V8l6Bdq429e32lOOXbFmJ1Ui4stTJXzi15JvrSR
# cwi5vO3WPtGajQogwGKOlyRItUi68j51NCWE5cDcBgMIiRfQweIV8dp3ZM7hsu0l
# p+2xAZ1qRhTi/qBFTwCCxOnzILwgnbflaWKBahqd3Ala3bnldET388WM+86ZFcAp
# B/nhmnpx824Z7UodM+Vq8uwROSZ2ECcNrHcrzJeVqXgaaYeBhj97cufFZO9OvzDl
# m8IlA51GVlwO9mY4ci9sWHyQg8yDfpO97qpYhVUgJys9o5+G6eLt4Zs5HVCBxC1K
# 1yug1/4z9SZVc8aRclhLqeh17tMJolLbgOT908QYHTgPxQXYeh0OgppxO/0faMuu
# Ijh5bGNiGnQHqp1rPexwcesINSzZ4Hd1T1QXnWp6PduCKCPkclQle5BMDcOM/qVG
# ENFAwjb1YedAAEIZuf8T3p2h1TBOLvePvvxnrmptCtCUkZ7y1wR2IVm00k2Ksgj0
# k3I1YTBNXDCCBuwwggTUoAMCAQICEDAPb6zdZph0fKlGNqd4LbkwDQYJKoZIhvcN
# AQEMBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYD
# VQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3Jr
# MS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
# MB4XDTE5MDUwMjAwMDAwMFoXDTM4MDExODIzNTk1OVowfTELMAkGA1UEBhMCR0Ix
# GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEY
# MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSUwIwYDVQQDExxTZWN0aWdvIFJTQSBU
# aW1lIFN0YW1waW5nIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
# yBsBr9ksfoiZfQGYPyCQvZyAIVSTuc+gPlPvs1rAdtYaBKXOR4O168TMSTTL80Vl
# ufmnZBYmCfvVMlJ5LsljwhObtoY/AQWSZm8hq9VxEHmH9EYqzcRaydvXXUlNclYP
# 3MnjU5g6Kh78zlhJ07/zObu5pCNCrNAVw3+eolzXOPEWsnDTo8Tfs8VyrC4Kd/wN
# lFK3/B+VcyQ9ASi8Dw1Ps5EBjm6dJ3VV0Rc7NCF7lwGUr3+Az9ERCleEyX9W4L1G
# nIK+lJ2/tCCwYH64TfUNP9vQ6oWMilZx0S2UTMiMPNMUopy9Jv/TUyDHYGmbWApU
# 9AXn/TGs+ciFF8e4KRmkKS9G493bkV+fPzY+DjBnK0a3Na+WvtpMYMyou58NFNQY
# xDCYdIIhz2JWtSFzEh79qsoIWId3pBXrGVX/0DlULSbuRRo6b83XhPDX8CjFT2SD
# AtT74t7xvAIo9G3aJ4oG0paH3uhrDvBbfel2aZMgHEqXLHcZK5OVmJyXnuuOwXhW
# xkQl3wYSmgYtnwNe/YOiU2fKsfqNoWTJiJJZy6hGwMnypv99V9sSdvqKQSTUG/xy
# pRSi1K1DHKRJi0E5FAMeKfobpSKupcNNgtCN2mu32/cYQFdz8HGj+0p9RTbB942C
# +rnJDVOAffq2OVgy728YUInXT50zvRq1naHelUF6p4MCAwEAAaOCAVowggFWMB8G
# A1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQaofhhGSAP
# w0F3RSiO0TVfBhIEVTAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIB
# ADATBgNVHSUEDDAKBggrBgEFBQcDCDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0f
# BEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
# QUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUFBwEBBGowaDA/Bggr
# BgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUFk
# ZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3Qu
# Y29tMA0GCSqGSIb3DQEBDAUAA4ICAQBtVIGlM10W4bVTgZF13wN6MgstJYQRsrDb
# Kn0qBfW8Oyf0WqC5SVmQKWxhy7VQ2+J9+Z8A70DDrdPi5Fb5WEHP8ULlEH3/sHQf
# j8ZcCfkzXuqgHCZYXPO0EQ/V1cPivNVYeL9IduFEZ22PsEMQD43k+ThivxMBxYWj
# TMXMslMwlaTW9JZWCLjNXH8Blr5yUmo7Qjd8Fng5k5OUm7Hcsm1BbWfNyW+QPX9F
# csEbI9bCVYRm5LPFZgb289ZLXq2jK0KKIZL+qG9aJXBigXNjXqC72NzXStM9r4MG
# OBIdJIct5PwC1j53BLwENrXnd8ucLo0jGLmjwkcd8F3WoXNXBWiap8k3ZR2+6rzY
# QoNDBaWLpgn/0aGUpk6qPQn1BWy30mRa2Coiwkud8TleTN5IPZs0lpoJX47997FS
# kc4/ifYcobWpdR9xv1tDXWU9UIFuq/DQ0/yysx+2mZYm9Dx5i1xkzM3uJ5rloMAM
# cofBbk1a0x7q8ETmMm8c6xdOlMN4ZSA7D0GqH+mhQZ3+sbigZSo04N6o+TzmwTC7
# wKBjLPxcFgCo0MR/6hGdHgbGpm0yXbQ4CStJB6r97DDa8acvz7f9+tCjhNknnvsB
# Zne5VhDhIG7GrrH5trrINV0zdo7xfCAMKneutaIChrop7rRaALGMq+P5CslUXdS5
# anSevUiumDCCBvUwggTdoAMCAQICEDlMJeF8oG0nqGXiO9kdItQwDQYJKoZIhvcN
# AQEMBQAwfTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3Rl
# cjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSUw
# IwYDVQQDExxTZWN0aWdvIFJTQSBUaW1lIFN0YW1waW5nIENBMB4XDTIzMDUwMzAw
# MDAwMFoXDTM0MDgwMjIzNTk1OVowajELMAkGA1UEBhMCR0IxEzARBgNVBAgTCk1h
# bmNoZXN0ZXIxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDEsMCoGA1UEAwwjU2Vj
# dGlnbyBSU0EgVGltZSBTdGFtcGluZyBTaWduZXIgIzQwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQCkkyhSS88nh3akKRyZOMDnDtTRHOxoywFk5IrNd7Bx
# ZYK8n/yLu7uVmPslEY5aiAlmERRYsroiW+b2MvFdLcB6og7g4FZk7aHlgSByIGRB
# bMfDCPrzfV3vIZrCftcsw7oRmB780yAIQrNfv3+IWDKrMLPYjHqWShkTXKz856vp
# HBYusLA4lUrPhVCrZwMlobs46Q9vqVqakSgTNbkf8z3hJMhrsZnoDe+7TeU9jFQD
# kdD8Lc9VMzh6CRwH0SLgY4anvv3Sg3MSFJuaTAlGvTS84UtQe3LgW/0Zux88ahl7
# brstRCq+PEzMrIoEk8ZXhqBzNiuBl/obm36Ih9hSeYn+bnc317tQn/oYJU8T8l58
# qbEgWimro0KHd+D0TAJI3VilU6ajoO0ZlmUVKcXtMzAl5paDgZr2YGaQWAeAzUJ1
# rPu0kdDF3QFAaraoEO72jXq3nnWv06VLGKEMn1ewXiVHkXTNdRLRnG/kXg2b7HUm
# 7v7T9ZIvUoXo2kRRKqLMAMqHZkOjGwDvorWWnWKtJwvyG0rJw5RCN4gghKiHrsO6
# I3J7+FTv+GsnsIX1p0OF2Cs5dNtadwLRpPr1zZw9zB+uUdB7bNgdLRFCU3F0wuU1
# qi1SEtklz/DT0JFDEtcyfZhs43dByP8fJFTvbq3GPlV78VyHOmTxYEsFT++5L+wJ
# EwIDAQABo4IBgjCCAX4wHwYDVR0jBBgwFoAUGqH4YRkgD8NBd0UojtE1XwYSBFUw
# HQYDVR0OBBYEFAMPMciRKpO9Y/PRXU2kNA/SlQEYMA4GA1UdDwEB/wQEAwIGwDAM
# BgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMEoGA1UdIARDMEEw
# NQYMKwYBBAGyMQECAQMIMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGlnby5j
# b20vQ1BTMAgGBmeBDAEEAjBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vY3JsLnNl
# Y3RpZ28uY29tL1NlY3RpZ29SU0FUaW1lU3RhbXBpbmdDQS5jcmwwdAYIKwYBBQUH
# AQEEaDBmMD8GCCsGAQUFBzAChjNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3Rp
# Z29SU0FUaW1lU3RhbXBpbmdDQS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3Nw
# LnNlY3RpZ28uY29tMA0GCSqGSIb3DQEBDAUAA4ICAQBMm2VY+uB5z+8VwzJt3jOR
# 63dY4uu9y0o8dd5+lG3DIscEld9laWETDPYMnvWJIF7Bh8cDJMrHpfAm3/j4MWUN
# 4OttUVemjIRSCEYcKsLe8tqKRfO+9/YuxH7t+O1ov3pWSOlh5Zo5d7y+upFkiHX/
# XYUWNCfSKcv/7S3a/76TDOxtog3Mw/FuvSGRGiMAUq2X1GJ4KoR5qNc9rCGPcMMk
# eTqX8Q2jo1tT2KsAulj7NYBPXyhxbBlewoNykK7gxtjymfvqtJJlfAd8NUQdrVgY
# a2L73mzECqls0yFGcNwvjXVMI8JB0HqWO8NL3c2SJnR2XDegmiSeTl9O048P5RNP
# WURlS0Nkz0j4Z2e5Tb/MDbE6MNChPUitemXk7N/gAfCzKko5rMGk+al9NdAyQKCx
# GSoYIbLIfQVxGksnNqrgmByDdefHfkuEQ81D+5CXdioSrEDBcFuZCkD6gG2UYXvI
# brnIZ2ckXFCNASDeB/cB1PguEc2dg+X4yiUcRD0n5bCGRyoLG4R2fXtoT4239xO0
# 7aAt7nMP2RC6nZksfNd1H48QxJTmfiTllUqIjCfWhWYd+a5kdpHoSP7IVQrtKcMf
# 3jimwBT7Mj34qYNiNsjDvgCHHKv6SkIciQPc9Vx8cNldeE7un14g5glqfCsIo0j1
# FfwET9/NIRx65fWOGtS5QDGCBlgwggZUAgEBMGgwVDELMAkGA1UEBhMCR0IxGDAW
# BgNVBAoTD1NlY3RpZ28gTGltaXRlZDErMCkGA1UEAxMiU2VjdGlnbyBQdWJsaWMg
# Q29kZSBTaWduaW5nIENBIFIzNgIQFPNtM6KdazAAt8Rk1XcUjTAJBgUrDgMCGgUA
# oHgwGAYKKwYBBAGCNwIBDDEKMAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYB
# BAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0B
# CQQxFgQUZVZDPrFj+Ilwao6AepUGOkmfP6gwDQYJKoZIhvcNAQEBBQAEggIAPDO0
# 0jo3YReBfx03g0lf6FxtoD8vl6QAmbcc0NrxCnq6fUQt3T3GKD0m3Y4WODyKly0x
# PwokqcWxYKEszOVD4SnnnSfsZqVBCsb9FRzmXq9rDTmgpc118Wz0sObZI27zbvkP
# plYe4R83gJv/SlOgIba+MPrLhCw1tqtcVcDicLZ7dU7ZqK/kv9crmIZfA2EK1CvM
# ygipD8/WrzSNfcejdTmH/RlbqMGpI8xdyXVSdW6Y0kwTLZWWauo895N4VB0cgyWz
# 8BoKdH0GCLDqxfjpoA+CpvrJqqu32t4o2Viyp51I8SfxFI8ZFWZ/FJZ3SyS5SI12
# 9pVcUoP7jT0IQVdFlufgNa2VFBclF9NfjF0eOQlyF5bwPqUPo/ZTvYSD50g+0Nh6
# 3Uyxl1z7+pHowkUxOH099eWkGS2QjFpL5lGpq1vyF/eUbXlPFKHqrILFp8tE0AHe
# WLGQY9Xmd+E4QCZMW608/FIH4R89Zu6DuKTVTfn00tP0sfzhP4XagTXedB1XQHcQ
# /b+uuuWrgAE8o3hX5l3TP9l2vBXHjkqfrFVK/XJbEHyAqAzH9B0nHjuZrVcc2nuN
# ZDyF7PjBJSZXtPN13kWqHWTxmJwkzFUvl/32MS1bRpvrGtlZlYc6Az1Mt3Z0k9Im
# Zh7sdw1DCl2o0JMCTgAa4oJvgshnswLk2xUDPTqhggNLMIIDRwYJKoZIhvcNAQkG
# MYIDODCCAzQCAQEwgZEwfTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIg
# TWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBM
# aW1pdGVkMSUwIwYDVQQDExxTZWN0aWdvIFJTQSBUaW1lIFN0YW1waW5nIENBAhA5
# TCXhfKBtJ6hl4jvZHSLUMA0GCWCGSAFlAwQCAgUAoHkwGAYJKoZIhvcNAQkDMQsG
# CSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMDA1MDkxNTQ3WjA/BgkqhkiG
# 9w0BCQQxMgQwhzpRcFREdhTB6rkH3C9MoGzXb21RT7lnYJUlAxatNhEkkvkwFk7l
# RFWDcjINO0DlMA0GCSqGSIb3DQEBAQUABIICAEpF3r+hOJTfpJB/W4IvuPCY+YM1
# F8AwCnzoC4jPySk/oRVune0PoFozKolQcnR200e2lrABaslDIediSsix0bnGabzi
# hW34updndyENXo7dNjJMkwBi/gavc0NYuNClqZJLVxzxqvd97/0hbi0oJ+/qpYBp
# YSmeI0tRIMW/Lsi/hRLga3zD0M/StwtpukZ5m9Qt/XeqxomXx9ryfZadPbR89Wlf
# 2mLCG9r7iIGmY8heDUoGOhoA1R605cuGxnCLVwmHNLX5wg+mgJDErJyVRMhsUkq0
# veucT7KaFt2qkm3ZpiAWF0Mq/9lveKnedN/Jv4hf1GTyUNpjpmt7fOOPl1+CdeNw
# i9eV6MB/487uNFQlyIOHaxaiQimaVVAhWN3yrHZJl9c4r+ijuag0bj2yhxsroTvN
# 0HaUlnGMhvCNn3/iwWXFqsQZ6NrR+SaGT4fEy44ckk2WdDk1K2wnQYZUvSKx7dhI
# SSvj/QQd8yIrqLpm+QkMRKFtSltojL+w3oHcCdH5gEqe3y3MKgIBL309ATYiFtbm
# xtcZjbz1b/YuIgPuPb0UiYpC7quNmRIW6wXgLA20aUuzNrSyBnZmK39KGIW15X4c
# 1/BDW2R10xNgY+vvDNvmCkW0CiF0uYgzGfyYj086U5jhx/uOVKoSqXr+jz9IAlKO
# 5aojMRSiPjttifgl
# SIG # End signature block

ApplicGate Logo  reinhold.leitner@applicgate.com (C) June 2024
www.applicgate.com