Write-Host "*********************************************************" Write-Host "* Generate server certificate *" Write-Host "* *" Write-Host "* Example: *" Write-Host "* Input: *" Write-Host "* Server: www *" Write-Host "* Company: test *" Write-Host "* Generates a certificate for server www.test.com *" Write-Host "* *" Write-Host "* Hint: *" Write-Host "* Server may be * to generate a wildcard certificate *" 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) January 2020 *" 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 } Write-Host "Following certificate will be used for signing:" $SignCert Write-Host "" Write-Host "Please enter following data to generate the user certificate:" $Server = Read-Host -Prompt 'Servername' if($Server.Equals("")) {Write-Host "No input, exit script!"; return;} $Company = Read-Host -Prompt 'Company' if($Company.Equals("")) {Write-Host "No input, exit script!"; return;} $mySubject = $Server.ToLower().Replace(' ','') + "." + $Company.ToLower().Replace(' ','') + ".com" if($Server.Equals("*")) {$Server = "star"} $myFilePath0 = $Server.ToLower().Replace(' ','') + "." + $Company.ToLower().Replace(' ','') + ".com" 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 # MIIewgYJKoZIhvcNAQcCoIIeszCCHq8CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUrgyxdJ4smawweFNtaHzGcm05 # fJ+gghnMMIIEhDCCA2ygAwIBAgIQQhrylAmEGR9SCkvGJCanSzANBgkqhkiG9w0B # AQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNV # BAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRU # cnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTA1MDYwNzA4MDkxMFoXDTIwMDUzMDEw # NDgzOFowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2Fs # dCBMYWtlIENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8G # A1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNF # UkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6q # gT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VRloTN2+O5bj4x # 2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ # w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbH # d2pBnqcP1/vulBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh # 2JU022R5KP+6LhHC5ehbkkj7RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzT # bafc8H9vg2XiaquHhnUCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rE # JlTvA73gJMtUGjAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8ydgwDgYDVR0P # AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQG # A1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVz # dEV4dGVybmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGG # GWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEFBQADggEBAE1C # L6bBiusHgJBYRoz4GTlmKjxaLG3P1NmHVY15CxKIe0CP1cf4S41VFmOtt1fcOyu9 # 08FPHgOHS0Sb4+JARSbzJkkraoTxVHrUQtr802q7Zn7Knurpu9wHx8OSToM8gUmf # ktUyCepJLqERcZo20sVOaLbLDhslFq9s3l122B9ysZMmhhfbGN6vRenf+5ivFBjt # pF72iZRF8FUESt3/J90GSkD2tLzx5A+ZArv9XQ4uKMG+O18aP5cQhLwWPtijnGMd # ZstcX9o+8w8KCTUi29vAPwD55g1dZ9H9oB4DK9lA977Mh2ZUgKajuPUZYtXSJrGY # Ju6ay0SnRVqBlRUa9VEwggTmMIIDzqADAgECAhBiXE2QjNVC+6supXM/8VQZMA0G # CSqGSIb3DQEBBQUAMIGVMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNV # BAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdv # cmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTEdMBsGA1UEAxMU # VVROLVVTRVJGaXJzdC1PYmplY3QwHhcNMTEwNDI3MDAwMDAwWhcNMjAwNTMwMTA0 # ODM4WjB6MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy # MRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDEg # MB4GA1UEAxMXQ09NT0RPIFRpbWUgU3RhbXBpbmcgQ0EwggEiMA0GCSqGSIb3DQEB # AQUAA4IBDwAwggEKAoIBAQCqgvGEqVvYcbXSXSvt9BMgDPmb6dGPdF5u7uspSNjI # vizrCmFgzL2SjXzddLsKnmhOqnUkcyeuN/MagqVtuMgJRkx+oYPp4gNgpCEQJ0Ca # WeFtrz6CryFpWW1jzM6x9haaeYOXOh0Mr8l90U7Yw0ahpZiqYM5V1BIR8zsLbMaI # upUu76BGRTl8rOnjrehXl1/++8IJjf6OmqU/WUb8xy1dhIfwb1gmw/BC/FXeZb5n # OGOzEbGhJe2pm75I30x3wKoZC7b9So8seVWx/llaWm1VixxD9rFVcimJTUA/vn9J # AV08m1wI+8ridRUFk50IYv+6Dduq+LW/EDLKcuoIJs0ZAgMBAAGjggFKMIIBRjAf # BgNVHSMEGDAWgBTa7WR0FJwUPKvdmam9WyhNizzJ2DAdBgNVHQ4EFgQUZCKGtkqJ # yQQP0ARYkiuzbj0eJ2wwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C # AQAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwEQYDVR0gBAowCDAGBgRVHSAAMEIGA1Ud # HwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZp # cnN0LU9iamVjdC5jcmwwdAYIKwYBBQUHAQEEaDBmMD0GCCsGAQUFBzAChjFodHRw # Oi8vY3J0LnVzZXJ0cnVzdC5jb20vVVROQWRkVHJ1c3RPYmplY3RfQ0EuY3J0MCUG # CCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqGSIb3DQEB # BQUAA4IBAQARyT3hBeg7ZazJdDEDt9qDOMaSuv3N+Ntjm30ekKSYyNlYaDS18Ash # U55ZRv1jhd/+R6pw5D9eCJUoXxTx/SKucOS38bC2Vp+xZ7hog16oYNuYOfbcSV4T # p5BnS+Nu5+vwQ8fQL33/llqnA9abVKAj06XCoI75T9GyBiH+IV0njKCv2bBS7vzI # 7bec8ckmONalMu1Il5RePeA9NbSwyVivx1j/YnQWkmRB2sqo64sDvcFOrh+RMrjh # JDt77RRoCYaWKMk7yWwowiVp9UphreAn+FOndRWwUTGw8UH/PlomHmB+4uNqOZrE # 6u4/5rITP1UDBE0LkHLU6/u8h5BRsjgZMIIE/jCCA+agAwIBAgIQK3PbdGMRTFpb # MkryMFdySTANBgkqhkiG9w0BAQUFADB6MQswCQYDVQQGEwJHQjEbMBkGA1UECBMS # R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD # T01PRE8gQ0EgTGltaXRlZDEgMB4GA1UEAxMXQ09NT0RPIFRpbWUgU3RhbXBpbmcg # Q0EwHhcNMTkwNTAyMDAwMDAwWhcNMjAwNTMwMTA0ODM4WjCBgzELMAkGA1UEBhMC # R0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9y # ZDEYMBYGA1UECgwPU2VjdGlnbyBMaW1pdGVkMSswKQYDVQQDDCJTZWN0aWdvIFNI # QS0xIFRpbWUgU3RhbXBpbmcgU2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A # MIIBCgKCAQEAv1I2gjrcdDcNeNV/FlAZZu26GpnRYziaDGayQNungFC/aS42Lwpn # P0ChSopjNZvQGcx0qhcZkSu1VSAZ+8AaOm3KOZuC8rqVoRrYNMe4iXtwiHBRZmns # d/7GlHJ6zyWB7TSCmt8IFTcxtG2uHL8Y1Q3P/rXhxPuxR3Hp+u5jkezx7M5ZBBF8 # rgtgU+oq874vAg/QTF0xEy8eaQ+Fm0WWwo0Si2euH69pqwaWgQDfkXyVHOaeGWTf # dshgRC9J449/YGpFORNEIaW6+5H6QUDtTQK0S3/f4uA9uKrzGthBg49/M+1BBuJ9 # nj9ThI0o2t12xr33jh44zcDLYCQD3npMqwIDAQABo4IBdDCCAXAwHwYDVR0jBBgw # FoAUZCKGtkqJyQQP0ARYkiuzbj0eJ2wwHQYDVR0OBBYEFK7u2WC6XvUsARL9jo2y # VXI1Rm/xMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQM # MAoGCCsGAQUFBwMIMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQMIMCUwIwYIKwYB # BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMEIGA1UdHwQ7MDkwN6A1oDOG # MWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vQ09NT0RPVGltZVN0YW1waW5nQ0FfMi5j # cmwwcgYIKwYBBQUHAQEEZjBkMD0GCCsGAQUFBzAChjFodHRwOi8vY3J0LnNlY3Rp # Z28uY29tL0NPTU9ET1RpbWVTdGFtcGluZ0NBXzIuY3J0MCMGCCsGAQUFBzABhhdo # dHRwOi8vb2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAen+pStKw # pBwdDZ0tXMauWt2PRR3wnlyQ9l6scP7T2c3kGaQKQ3VgaoOkw5mEIDG61v5MzxP4 # EPdUCX7q3NIuedcHTFS3tcmdsvDyHiQU0JzHyGeqC2K3tPEG5OfkIUsZMpk0uRlh # dwozkGdswIhKkvWhQwHzrqJvyZW9ljj3g/etfCgf8zjfjiHIcWhTLcuuquIwF4Mi # KRi14YyJ6274fji7kE+5Xwc0EmuX1eY7kb4AFyFu4m38UnnvgSW6zxPQ+90rzYG2 # V4lO8N3zC0o0yoX/CLmWX+sRE+DhxQOtVxzhXZIGvhvIPD+lIJ9p0GnBxcLJPufF # cvfqG5bilK+GLjCCBXAwggRYoAMCAQICEQCB5rTXimyHJiD3fL7Z0B0XMA0GCSqG # SIb3DQEBCwUAMH0xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNo # ZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1p # dGVkMSMwIQYDVQQDExpDT01PRE8gUlNBIENvZGUgU2lnbmluZyBDQTAeFw0xOTAx # MDIwMDAwMDBaFw0yMjAxMDEyMzU5NTlaMIG1MQswCQYDVQQGEwJBVDENMAsGA1UE # EQwENDA0ODEYMBYGA1UECAwPT2JlcsO2c3RlcnJlaWNoMREwDwYDVQQHDAhQdWNo # ZW5hdTEUMBIGA1UECQwLQmlya2Vud2VnIDUxKTAnBgNVBAoMIEFwcGxpY0dhdGUg # TmV0d29yayBTZWN1cml0eSBlLlUuMSkwJwYDVQQDDCBBcHBsaWNHYXRlIE5ldHdv # cmsgU2VjdXJpdHkgZS5VLjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB # AL18nu169P9XOVcq6gOgJeaK5fhwkiX4Mtu97lSzccz++xO+i7+hOf+0La7dkOwx # OkStT+2UjpJmvE3mlTrbIeoAmobCD1Kw9Vn224qOsvx5wzzu3h8cM3VyP+0ZQAOH # twotVfHPYyzfwr+swC4STBJhlW78o4LH+iaUNA9k6ZPT4/TcbW874RyZzppwTneY # D/NCcNelBAxf7nio6mBGLwq2YMD/zTeNEGyU+ceKel3c1fL6AxSvSdV5mQ2JaZg6 # 3QnrinKVESDqYSR+RcoSumxbKzSrELDUAoazkiHAprlHdp01BHMH2bRcTHrGvqdt # M9qDcARsHgLUDbxSra0YF3kCAwEAAaOCAbAwggGsMB8GA1UdIwQYMBaAFCmRYP+K # Tfrr+aZquM/55ku9Sc4SMB0GA1UdDgQWBBQ3/8D8M6Ec3vWg2Ub8RUzuc1hi5jAO # BgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcD # AzARBglghkgBhvhCAQEEBAMCBBAwRgYDVR0gBD8wPTA7BgwrBgEEAbIxAQIBAwIw # KzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLm5ldC9DUFMwQwYD # VR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNB # Q29kZVNpZ25pbmdDQS5jcmwwdAYIKwYBBQUHAQEEaDBmMD4GCCsGAQUFBzAChjJo # dHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FDb2RlU2lnbmluZ0NBLmNy # dDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMCEGA1UdEQQa # MBiBFmNvbnRhY3RAYXBwbGljZ2F0ZS5jb20wDQYJKoZIhvcNAQELBQADggEBAH0j # oEshQ40Yl33aNBrXovDg5ERmMyVNkFHbbJwV7EZ1tbdY7M7QntDlry5p6rjITE19 # VYRQX6Mjr8DQZMky4oZ5zBchOezuy3qDLRioYdzqYVWjI+pnNqkoPL/d8rakyys6 # u+GNxSrgMf0lYdDjUSebbdvQBJIL6SfqPncf1wh+03xR3jsLlCHBursd9bzwG9ma # nRJYNw+9HISlH7a0z2GdR5ohqKHG6wp2SOo6C19/SJ7n4Ubx2EdA3Qtf5fq3wwS8 # GiHjP1eOKt/GIS/ZiQLFlphjxOIXfrN3FSwcqDJVi+vDUHmFcKuFdctZ/h7Ai9Hv # aib1Uu6VvW8Y6YAY0NIwggXgMIIDyKADAgECAhAufIfMDpNKUv6U/Ry3zTSvMA0G # CSqGSIb3DQEBDAUAMIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBN # YW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0Eg # TGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhv # cml0eTAeFw0xMzA1MDkwMDAwMDBaFw0yODA1MDgyMzU5NTlaMH0xCzAJBgNVBAYT # AkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZv # cmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSMwIQYDVQQDExpDT01PRE8g # UlNBIENvZGUgU2lnbmluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC # ggEBAKaYkGN3kTR/itHd6WcxEevMHv0xHbO5Ylc/k7xb458eJDIRJ2u8UZGnz56e # JbNfgagYDx0eIDAO+2F7hgmz4/2iaJ0cLJ2/cuPkdaDlNSOOyYruGgxkx9hCoXu1 # UgNLOrCOI0tLY+AilDd71XmQChQYUSzm/sES8Bw/YWEKjKLc9sMwqs0oGHVIwXla # CM27jFWM99R2kDozRlBzmFz0hUprD4DdXta9/akvwCX1+XjXjV8QwkRVPJA8MUbL # cK4HqQrjr8EBb5AaI+JfONvGCF1Hs4NB8C4ANxS5Eqp5klLNhw972GIppH4wvRu1 # jHK0SPLj6CH5XkxieYsCBp9/1QsCAwEAAaOCAVEwggFNMB8GA1UdIwQYMBaAFLuv # fgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBQpkWD/ik366/mmarjP+eZLvUnO # EjAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADATBgNVHSUEDDAK # BggrBgEFBQcDAzARBgNVHSAECjAIMAYGBFUdIAAwTAYDVR0fBEUwQzBBoD+gPYY7 # aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2VydGlmaWNhdGlvbkF1 # dGhvcml0eS5jcmwwcQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9odHRwOi8v # Y3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FBZGRUcnVzdENBLmNydDAkBggrBgEF # BQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUAA4IC # AQACPwI5w+74yjuJ3gxtTbHxTpJPr8I4LATMxWMRqwljr6ui1wI/zG8Zwz3WGgiU # /yXYqYinKxAa4JuxByIaURw61OHpCb/mJHSvHnsWMW4j71RRLVIC4nUIBUzxt1Hh # UQDGh/Zs7hBEdldq8d9YayGqSdR8N069/7Z1VEAYNldnEc1PAuT+89r8dRfb7Lf3 # ZQkjSR9DV4PqfiB3YchN8rtlTaj3hUUHr3ppJ2WQKUCL33s6UTmMqB9wea1tQiCi # zwxsA4xMzXMHlOdajjoEuqKhfB/LYzoVp9QVG6dSRzKp9L9kR9GqH1NOMjBzwm+3 # eIKdXP9Gu2siHYgL+BuqNKb8jPXdf2WMjDFXMdA27Eehz8uLqO8cGFjFBnfKS5tR # r0wISnqP4qNS4o6OzCbkstjlOMKo7caBnDVrqVhhSgqXtEtCtlWdvpnncG1Z+G0q # DH8ZYF8MmohsMKxSCZAWG/8rndvQIMqJ6ih+Mo4Z33tIMx7XZfiuyfiDFJN2fWTQ # js6+NX3/cjFNn569HmwvqI8MBlD7jCezdsn05tfDNOKMhyGGYf6/VXThIXcDCmhs # u+TJqebPWSXrfOxFDnlmaOgizbjvmIVNlhE8CYrQf7woKBP7aspUjZJczcJlmAae # zkhb1LU3k0ZBfAfdz/pD77pnYf99SeC7MH1cgOPmFjlLpzGCBGAwggRcAgEBMIGS # MH0xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO # BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSMwIQYD # VQQDExpDT01PRE8gUlNBIENvZGUgU2lnbmluZyBDQQIRAIHmtNeKbIcmIPd8vtnQ # HRcwCQYFKw4DAhoFAKB4MBgGCisGAQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZI # hvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcC # ARUwIwYJKoZIhvcNAQkEMRYEFAPd9ykGsEaEfDIylEtrRQZDMLZqMA0GCSqGSIb3 # DQEBAQUABIIBAEFkiEWSJNffjjCCI2z8vKYRGb3V1MpwemtpxTQ/9nIIq+n72QkH # IopYR/+r9iLKGb1r/9BM0QxRdwBqlEXb2pyzBz0AAxnrG1JEA0p7UJ6wvzETkZh6 # Q1XPkLQO3KjSUKOM1p8zs9vs3fjtp9GRHin4p+KBI9pvmcxMp4twlYP5IjYN78S9 # R63y4Osyi6xTDSOlEHnJvWEpfpsvXufpXanwaYR1s1+hUL5RfUhvCb0YrVpSJ1XO # y4LFFsKgelNtSNVcSpqfBSW3R2XKmaZuf73KUnwvrr/we4IIs2K+uJmGbPRgWM0K # WRO47l4B085ajDXZYQZcOtfsPgNkD3NS8pGhggIoMIICJAYJKoZIhvcNAQkGMYIC # FTCCAhECAQEwgY4wejELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFu # Y2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExp # bWl0ZWQxIDAeBgNVBAMTF0NPTU9ETyBUaW1lIFN0YW1waW5nIENBAhArc9t0YxFM # WlsySvIwV3JJMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB # MBwGCSqGSIb3DQEJBTEPFw0yMDAxMzAyMDQyMDdaMCMGCSqGSIb3DQEJBDEWBBRa # rdUijGwjijoDBoyeRmt0abDD+zANBgkqhkiG9w0BAQEFAASCAQCaJYnYnZY8SOoS # KKYaXGn1+wi9uP/d7D+W+WbS7RGEFUcqvaab00bgem6P0rZvVFWDg6VSqnTrhiPV # MJf2z2SapxMAWDIMwKjsEvv+rl6qqJpHnJgubKYQ5cLgWr+PRTB59++DnF4yZsBi # N6q93e/Ok93bD8xEeSGuFN2Bpon6vSfamXKlZayOC+sOpNAzsgLzbWNzgnEiL7HT # kLo39L4G5AQxQlhuNMY5q2vzzkokFv8vQHo9S9Sl/ED0qyXf3418CB5/LCa9tCoA # tHu2DNaseddjttQEFEFRo6eHheHK3L9mJHgbMN/jraEPL8FQPBn+2AMV46tDYMuk # LGAko3Oy # SIG # End signature block
![]() |
reinhold.leitner@applicgate.com (C) September 2023 www.applicgate.com |