feat(core): RDP client on IronRDP

clients::rdp connects over any caller-dialled TCP stream (direct, proxy
or SSH tunnel), upgrades to TLS and logs on with NLA (CredSSP/NTLM),
optionally falling back to TLS-only logon for servers without NLA such
as xrdp (credentials are passed so they log straight in). The server
certificate is pinned through a caller check on its SHA256 fingerprint
before any credentials are sent. The desktop decodes into the VNC
client's RGBA framebuffer; input (IronRDP's scancode/Unicode/mouse
operations), Display Control resizes and the deactivation-reactivation
sequence run on the session thread.

IronRDP's releases need three vendored patches (vendor/README.md):
picky and sspi with their RustCrypto release-candidate pins relaxed so
they share russh's stable versions (their own suites, 402 tests, pass
against them), and ironrdp-session with two unreleased upstream bitmap
fixes (#1486 stride, #1524 RDP6 orientation) without which xrdp desktops
render sheared.

Verified live against xrdp (scottyhardy/docker-remote-desktop): logon,
full desktop rendering, keyboard and mouse input.
This commit is contained in:
Andy Dixon
2026-10-12 10:50:24 +01:00
parent 6a4d7381d9
commit 50c0104d57
227 changed files with 66687 additions and 20 deletions
+39
View File
@@ -0,0 +1,39 @@
[libdefaults]
default_realm = TBT.COM
# The following krb5.conf variables are only for MIT Kerberos.
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
# The following encryption type specification will be used by MIT Kerberos
# if uncommented. In general, the defaults in the MIT Kerberos code are
# correct and overriding these specifications only serves to disable new
# encryption types as they are added, creating interoperability problems.
#
# The only time when you might need to uncomment these lines and change
# the enctypes is if you have local software that will break on ticket
# caches containing ticket encryption types it doesn't know about (such as
# old versions of Sun Java).
# default_tgs_enctypes = des3-hmac-sha1
# default_tkt_enctypes = des3-hmac-sha1
# permitted_enctypes = des3-hmac-sha1
# The following libdefaults parameters are only for Heimdal Kerberos.
fcc-mit-ticketflags = true
[realms]
TBT.COM = {
kdc = WIN-956CQOSSJTF.tbt.com
kdc = tbt.com
admin_server = WIN-956CQOSSJTF.tbt.com
default_domain = WIN-956CQOSSJTF.tbt.com
}
[domain_realm]
.dev.tbt.com = TEST.TBT.COM
dev.tbt.com = DEV.TBT.COM
.tbt.com = STAGE.TBT.COM
tbt.com = TBT.COM
+34
View File
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF7DCCBNSgAwIBAgITfgAAAAj4QosOKRg46QAAAAAACDANBgkqhkiG9w0BAQsF
ADBTMRMwEQYKCZImiZPyLGQBGRYDY29tMRcwFQYKCZImiZPyLGQBGRYHZXhhbXBs
ZTEjMCEGA1UEAxMaZXhhbXBsZS1XSU4tSVZDRjQ4Nk8wM1MtQ0EwHhcNMjMwNjE5
MDkwODU1WhcNMjUwNjE5MDkxODU1WjBNMRMwEQYKCZImiZPyLGQBGRYDY29tMRcw
FQYKCZImiZPyLGQBGRYHZXhhbXBsZTEOMAwGA1UEAxMFVXNlcnMxDTALBgNVBAMT
BHB3MTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC89JkTzo3zAbjv
AUuicoFICUb7bLQcehCZ+lmrLmjs8eJ5TY8grD/yxLEFCmvly2Hilmjs4+Ecir1s
zZQfZ5CJI+YZ22cKNuGb4lrfDXND+lvHnry47b4nvEXbYjBR9Cj1dyCQ5hdS3PlJ
Vxbui+zbcvN3JUVV5wupXWK0PKzoB/sP+5SOyLub/3QGOJOFZvYvDJQUBoQ3HGBS
lXAzfuXJvjvkMUfB1FaD+XXHGwDJKaHDEmd4qlHHQtslfOgXq7i6rYG3gM42VKRu
By7c1udTR9Mzw42mbKNvkrp87NR+fP0YtAGwtHLkxSpyNu71tzt1vIEkZg9Kqgk3
oYFibu3JAgMBAAGjggK9MIICuTA8BgkrBgEEAYI3FQcELzAtBiUrBgEEAYI3FQiE
wbxjg/SXIIe1lRWE8OQ+h7mXUk6DnepVnL1uAgFkAgECMB8GA1UdJQQYMBYGCisG
AQQBgjcUAgIGCCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIFoDApBgkrBgEEAYI3FQoE
HDAaMAwGCisGAQQBgjcUAgIwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFERdkI6e2JjU
60OG3MWhEcnNMbcaMB8GA1UdIwQYMBaAFEnLXthGACosdnBKTWb6r4Z75rlnMIHg
BgNVHR8EgdgwgdUwgdKggc+ggcyGgclsZGFwOi8vL0NOPWV4YW1wbGUtV0lOLUlW
Q0Y0ODZPMDNTLUNBLENOPVdJTi1JVkNGNDg2TzAzUyxDTj1DRFAsQ049UHVibGlj
JTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixE
Qz1leGFtcGxlLERDPWNvbT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/
b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwgcwGCCsGAQUFBwEBBIG/
MIG8MIG5BggrBgEFBQcwAoaBrGxkYXA6Ly8vQ049ZXhhbXBsZS1XSU4tSVZDRjQ4
Nk8wM1MtQ0EsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNl
cnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9ZXhhbXBsZSxEQz1jb20/Y0FDZXJ0
aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkw
KwYDVR0RBCQwIqAgBgorBgEEAYI3FAIDoBIMEHB3MTFAZXhhbXBsZS5jb20wDQYJ
KoZIhvcNAQELBQADggEBAEjdKUfHodjVNJheABu6TyPL3gL0+S355EMYDpTU6ho0
6+a1IWDbR5vUZMePzc8Ow4DW7V/GybwS8PcDMsK+MsVhLL4KB/uP0BFNUPjHjJno
i1tmt4C5YpqjPW3biFvIOSjtuZ49t1xbkmj9SO2cc8/mOmCI9WN/sX8Y0JXOnD7y
1XE6oQUxKNjEaN7aJ3juvsFsxBhGB8FH2DjOqMLykOlu26lJQCmLBSWoNCWR3J1N
F1Eu/p5VLx6ivM739+AAVT7ZzkPFjBbk4fkmSCw9MGV1Vk8Vp8elMFyD3j1QA1gP
smepITG7yGbxcn8ct4dmvew/73ebjk7YA8WhHVeWKhc=
-----END CERTIFICATE-----
+34
View File
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF7DCCBNSgAwIBAgITfgAAAAj4QosOKRg46QAAAAAACDANBgkqhkiG9w0BAQsF
ADBTMRMwEQYKCZImiZPyLGQBGRMDY29tMRcwFQYKCZImiZPyLGQBGRMHZXhhbXBs
ZTEjMCEGA1UEAxMaZXhhbXBsZS1XSU4tSVZDRjQ4Nk8wM1MtQ0EwHhcNMjMwNjE5
MDkwODU1WhcNMjUwNjE5MDkxODU1WjBNMRMwEQYKCZImiZPyLGQBGRMDY29tMRcw
FQYKCZImiZPyLGQBGRMHZXhhbXBsZTEOMAwGA1UEAxMFVXNlcnMxDTALBgNVBAMT
BHB3MTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC89JkTzo3zAbjv
AUuicoFICUb7bLQcehCZ+lmrLmjs8eJ5TY8grD/yxLEFCmvly2Hilmjs4+Ecir1s
zZQfZ5CJI+YZ22cKNuGb4lrfDXND+lvHnry47b4nvEXbYjBR9Cj1dyCQ5hdS3PlJ
Vxbui+zbcvN3JUVV5wupXWK0PKzoB/sP+5SOyLub/3QGOJOFZvYvDJQUBoQ3HGBS
lXAzfuXJvjvkMUfB1FaD+XXHGwDJKaHDEmd4qlHHQtslfOgXq7i6rYG3gM42VKRu
By7c1udTR9Mzw42mbKNvkrp87NR+fP0YtAGwtHLkxSpyNu71tzt1vIEkZg9Kqgk3
oYFibu3JAgMBAAGjggK9MIICuTA8BgkrBgEEAYI3FQcELzAtBiUrBgEEAYI3FQiE
wbxjg/SXIIe1lRWE8OQ+h7mXUk6DnepVnL1uAgFkAgECMB8GA1UdJQQYMBYGCisG
AQQBgjcUAgIGCCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIFoDApBgkrBgEEAYI3FQoE
HDAaMAwGCisGAQQBgjcUAgIwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFERdkI6e2JjU
60OG3MWhEcnNMbcaMB8GA1UdIwQYMBaAFEnLXthGACosdnBKTWb6r4Z75rlnMIHg
BgNVHR8EgdgwgdUwgdKggc+ggcyGgclsZGFwOi8vL0NOPWV4YW1wbGUtV0lOLUlW
Q0Y0ODZPMDNTLUNBLENOPVdJTi1JVkNGNDg2TzAzUyxDTj1DRFAsQ049UHVibGlj
JTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixE
Qz1leGFtcGxlLERDPWNvbT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/
b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwgcwGCCsGAQUFBwEBBIG/
MIG8MIG5BggrBgEFBQcwAoaBrGxkYXA6Ly8vQ049ZXhhbXBsZS1XSU4tSVZDRjQ4
Nk8wM1MtQ0EsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNl
cnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9ZXhhbXBsZSxEQz1jb20/Y0FDZXJ0
aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkw
KwYDVR0RBCQwIqAgBgorBgEEAYI3FAIDoBIMEHBXMTFARXhBbVBsRS5jT20wDQYJ
KoZIhvcNAQELBQADggEBAEjdKUfHodjVNJheABu6TyPL3gL0+S355EMYDpTU6ho0
6+a1IWDbR5vUZMePzc8Ow4DW7V/GybwS8PcDMsK+MsVhLL4KB/uP0BFNUPjHjJno
i1tmt4C5YpqjPW3biFvIOSjtuZ49t1xbkmj9SO2cc8/mOmCI9WN/sX8Y0JXOnD7y
1XE6oQUxKNjEaN7aJ3juvsFsxBhGB8FH2DjOqMLykOlu26lJQCmLBSWoNCWR3J1N
F1Eu/p5VLx6ivM739+AAVT7ZzkPFjBbk4fkmSCw9MGV1Vk8Vp8elMFyD3j1QA1gP
smepITG7yGbxcn8ct4dmvew/73ebjk7YA8WhHVeWKhc=
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF4jCCBMqgAwIBAgITfgAAAAj4QosOKRg46QAAAAAACDANBgkqhkiG9w0BAQsF
ADBTMRMwEQYKCZImiZPyLGQBGRMDY29tMRcwFQYKCZImiZPyLGQBGRMHZXhhbXBs
ZTEjMCEGA1UEAxMaZXhhbXBsZS1XSU4tSVZDRjQ4Nk8wM1MtQ0EwHhcNMjMwNjE5
MDkwODU1WhcNMjUwNjE5MDkxODU1WjBNMRMwEQYKCZImiZPyLGQBGRMDY29tMRcw
FQYKCZImiZPyLGQBGRMHZXhhbXBsZTEOMAwGA1UEAxMFVXNlcnMxDTALBgNVBAMT
BHB3MTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC89JkTzo3zAbjv
AUuicoFICUb7bLQcehCZ+lmrLmjs8eJ5TY8grD/yxLEFCmvly2Hilmjs4+Ecir1s
zZQfZ5CJI+YZ22cKNuGb4lrfDXND+lvHnry47b4nvEXbYjBR9Cj1dyCQ5hdS3PlJ
Vxbui+zbcvN3JUVV5wupXWK0PKzoB/sP+5SOyLub/3QGOJOFZvYvDJQUBoQ3HGBS
lXAzfuXJvjvkMUfB1FaD+XXHGwDJKaHDEmd4qlHHQtslfOgXq7i6rYG3gM42VKRu
By7c1udTR9Mzw42mbKNvkrp87NR+fP0YtAGwtHLkxSpyNu71tzt1vIEkZg9Kqgk3
oYFibu3JAgMBAAGjggKzMIICrzA8BgkrBgEEAYI3FQcELzAtBiUrBgEEAYI3FQiE
wbxjg/SXIIe1lRWE8OQ+h7mXUk6DnepVnL1uAgFkAgECMBUGA1UdJQQOMAwGCisG
AQQBgjcUAgIwDgYDVR0PAQH/BAQDAgWgMCkGCSsGAQQBgjcVCgQcMBowDAYKKwYB
BAGCNxQCAjAKBggrBgEFBQcDAjAdBgNVHQ4EFgQURF2Qjp7YmNTrQ4bcxaERyc0x
txowHwYDVR0jBBgwFoAUScte2EYAKix2cEpNZvqvhnvmuWcwgeAGA1UdHwSB2DCB
1TCB0qCBz6CBzIaByWxkYXA6Ly8vQ049ZXhhbXBsZS1XSU4tSVZDRjQ4Nk8wM1Mt
Q0EsQ049V0lOLUlWQ0Y0ODZPMDNTLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT
ZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWV4YW1wbGUs
REM9Y29tP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RDbGFz
cz1jUkxEaXN0cmlidXRpb25Qb2ludDCBzAYIKwYBBQUHAQEEgb8wgbwwgbkGCCsG
AQUFBzAChoGsbGRhcDovLy9DTj1leGFtcGxlLVdJTi1JVkNGNDg2TzAzUy1DQSxD
Tj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049
Q29uZmlndXJhdGlvbixEQz1leGFtcGxlLERDPWNvbT9jQUNlcnRpZmljYXRlP2Jh
c2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTArBgNVHREEJDAi
oCAGCisGAQQBgjcUAgOgEgwQcHcxMUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsF
AAOCAQEASN0pR8eh2NU0mF4AG7pPI8veAvT5LfnkQxgOlNTqGjTr5rUhYNtHm9Rk
x4/Nzw7DgNbtX8bJvBLw9wMywr4yxWEsvgoH+4/QEU1Q+MeMmeiLW2a3gLlimqM9
bduIW8g5KO25nj23XFuSaP1I7Zxzz+Y6YIj1Y3+xfxjQlc6cPvLVcTqhBTEo2MRo
3toneO6+wWzEGEYHwUfYOM6owvKQ6W7bqUlAKYsFJag0JZHcnU0XUS7+nlUvHqK8
zvf34ABVPtnOQ8WMFuTh+SZILD0wZXVWTxWnx6UwXIPePVADWA+yZ6khMbvIZvFy
fxy3h2a97D/vd5uOTtgDxaEdV5YqFw==
-----END CERTIFICATE-----
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFyzCCBLOgAwIBAgITfgAAAAj4QosOKRg46QAAAAAACDANBgkqhkiG9w0BAQsF
ADBTMRMwEQYKCZImiZPyLGQBGRMDY29tMRcwFQYKCZImiZPyLGQBGRMHZXhhbXBs
ZTEjMCEGA1UEAxMaZXhhbXBsZS1XSU4tSVZDRjQ4Nk8wM1MtQ0EwHhcNMjMwNjE5
MDkwODU1WhcNMjUwNjE5MDkxODU1WjBNMRMwEQYKCZImiZPyLGQBGRMDY29tMRcw
FQYKCZImiZPyLGQBGRMHZXhhbXBsZTEOMAwGA1UEAxMFVXNlcnMxDTALBgNVBAMT
BHB3MTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC89JkTzo3zAbjv
AUuicoFICUb7bLQcehCZ+lmrLmjs8eJ5TY8grD/yxLEFCmvly2Hilmjs4+Ecir1s
zZQfZ5CJI+YZ22cKNuGb4lrfDXND+lvHnry47b4nvEXbYjBR9Cj1dyCQ5hdS3PlJ
Vxbui+zbcvN3JUVV5wupXWK0PKzoB/sP+5SOyLub/3QGOJOFZvYvDJQUBoQ3HGBS
lXAzfuXJvjvkMUfB1FaD+XXHGwDJKaHDEmd4qlHHQtslfOgXq7i6rYG3gM42VKRu
By7c1udTR9Mzw42mbKNvkrp87NR+fP0YtAGwtHLkxSpyNu71tzt1vIEkZg9Kqgk3
oYFibu3JAgMBAAGjggKcMIICmDA8BgkrBgEEAYI3FQcELzAtBiUrBgEEAYI3FQiE
wbxjg/SXIIe1lRWE8OQ+h7mXUk6DnepVnL1uAgFkAgECMA4GA1UdDwEB/wQEAwIF
oDApBgkrBgEEAYI3FQoEHDAaMAwGCisGAQQBgjcUAgIwCgYIKwYBBQUHAwIwHQYD
VR0OBBYEFERdkI6e2JjU60OG3MWhEcnNMbcaMB8GA1UdIwQYMBaAFEnLXthGACos
dnBKTWb6r4Z75rlnMIHgBgNVHR8EgdgwgdUwgdKggc+ggcyGgclsZGFwOi8vL0NO
PWV4YW1wbGUtV0lOLUlWQ0Y0ODZPMDNTLUNBLENOPVdJTi1JVkNGNDg2TzAzUyxD
Tj1DRFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049
Q29uZmlndXJhdGlvbixEQz1leGFtcGxlLERDPWNvbT9jZXJ0aWZpY2F0ZVJldm9j
YXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQw
gcwGCCsGAQUFBwEBBIG/MIG8MIG5BggrBgEFBQcwAoaBrGxkYXA6Ly8vQ049ZXhh
bXBsZS1XSU4tSVZDRjQ4Nk8wM1MtQ0EsQ049QUlBLENOPVB1YmxpYyUyMEtleSUy
MFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9ZXhhbXBs
ZSxEQz1jb20/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmlj
YXRpb25BdXRob3JpdHkwKwYDVR0RBCQwIqAgBgorBgEEAYI3FAIDoBIMEHB3MTFA
ZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAEjdKUfHodjVNJheABu6TyPL
3gL0+S355EMYDpTU6ho06+a1IWDbR5vUZMePzc8Ow4DW7V/GybwS8PcDMsK+MsVh
LL4KB/uP0BFNUPjHjJnoi1tmt4C5YpqjPW3biFvIOSjtuZ49t1xbkmj9SO2cc8/m
OmCI9WN/sX8Y0JXOnD7y1XE6oQUxKNjEaN7aJ3juvsFsxBhGB8FH2DjOqMLykOlu
26lJQCmLBSWoNCWR3J1NF1Eu/p5VLx6ivM739+AAVT7ZzkPFjBbk4fkmSCw9MGV1
Vk8Vp8elMFyD3j1QA1gPsmepITG7yGbxcn8ct4dmvew/73ebjk7YA8WhHVeWKhc=
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF4DCCBMigAwIBAgITfgAAAAj4QosOKRg46QAAAAAACDANBgkqhkiG9w0BAQsF
ADBTMRMwEQYKCZImiZPyLGQBGRMDY29tMRcwFQYKCZImiZPyLGQBGRMHZXhhbXBs
ZTEjMCEGA1UEAxMaZXhhbXBsZS1XSU4tSVZDRjQ4Nk8wM1MtQ0EwHhcNMjMwNjE5
MDkwODU1WhcNMjUwNjE5MDkxODU1WjBNMRMwEQYKCZImiZPyLGQBGRMDY29tMRcw
FQYKCZImiZPyLGQBGRMHZXhhbXBsZTEOMAwGA1UEAxMFVXNlcnMxDTALBgNVBAMT
BHB3MTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC89JkTzo3zAbjv
AUuicoFICUb7bLQcehCZ+lmrLmjs8eJ5TY8grD/yxLEFCmvly2Hilmjs4+Ecir1s
zZQfZ5CJI+YZ22cKNuGb4lrfDXND+lvHnry47b4nvEXbYjBR9Cj1dyCQ5hdS3PlJ
Vxbui+zbcvN3JUVV5wupXWK0PKzoB/sP+5SOyLub/3QGOJOFZvYvDJQUBoQ3HGBS
lXAzfuXJvjvkMUfB1FaD+XXHGwDJKaHDEmd4qlHHQtslfOgXq7i6rYG3gM42VKRu
By7c1udTR9Mzw42mbKNvkrp87NR+fP0YtAGwtHLkxSpyNu71tzt1vIEkZg9Kqgk3
oYFibu3JAgMBAAGjggKxMIICrTA8BgkrBgEEAYI3FQcELzAtBiUrBgEEAYI3FQiE
wbxjg/SXIIe1lRWE8OQ+h7mXUk6DnepVnL1uAgFkAgECMBMGA1UdJQQMMAoGCCsG
AQUFBwMCMA4GA1UdDwEB/wQEAwIFoDApBgkrBgEEAYI3FQoEHDAaMAwGCisGAQQB
gjcUAgIwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFERdkI6e2JjU60OG3MWhEcnNMbca
MB8GA1UdIwQYMBaAFEnLXthGACosdnBKTWb6r4Z75rlnMIHgBgNVHR8EgdgwgdUw
gdKggc+ggcyGgclsZGFwOi8vL0NOPWV4YW1wbGUtV0lOLUlWQ0Y0ODZPMDNTLUNB
LENOPVdJTi1JVkNGNDg2TzAzUyxDTj1DRFAsQ049UHVibGljJTIwS2V5JTIwU2Vy
dmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1leGFtcGxlLERD
PWNvbT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9
Y1JMRGlzdHJpYnV0aW9uUG9pbnQwgcwGCCsGAQUFBwEBBIG/MIG8MIG5BggrBgEF
BQcwAoaBrGxkYXA6Ly8vQ049ZXhhbXBsZS1XSU4tSVZDRjQ4Nk8wM1MtQ0EsQ049
QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv
bmZpZ3VyYXRpb24sREM9ZXhhbXBsZSxEQz1jb20/Y0FDZXJ0aWZpY2F0ZT9iYXNl
P29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwKwYDVR0RBCQwIqAg
BgorBgEEAYI3FAIDoBIMEHB3MTFAZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQAD
ggEBAEjdKUfHodjVNJheABu6TyPL3gL0+S355EMYDpTU6ho06+a1IWDbR5vUZMeP
zc8Ow4DW7V/GybwS8PcDMsK+MsVhLL4KB/uP0BFNUPjHjJnoi1tmt4C5YpqjPW3b
iFvIOSjtuZ49t1xbkmj9SO2cc8/mOmCI9WN/sX8Y0JXOnD7y1XE6oQUxKNjEaN7a
J3juvsFsxBhGB8FH2DjOqMLykOlu26lJQCmLBSWoNCWR3J1NF1Eu/p5VLx6ivM73
9+AAVT7ZzkPFjBbk4fkmSCw9MGV1Vk8Vp8elMFyD3j1QA1gPsmepITG7yGbxcn8c
t4dmvew/73ebjk7YA8WhHVeWKhc=
-----END CERTIFICATE-----
+33
View File
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFvzCCBKegAwIBAgITfgAAAAj4QosOKRg46QAAAAAACDANBgkqhkiG9w0BAQsF
ADBTMRMwEQYKCZImiZPyLGQBGRMDY29tMRcwFQYKCZImiZPyLGQBGRMHZXhhbXBs
ZTEjMCEGA1UEAxMaZXhhbXBsZS1XSU4tSVZDRjQ4Nk8wM1MtQ0EwHhcNMjMwNjE5
MDkwODU1WhcNMjUwNjE5MDkxODU1WjBNMRMwEQYKCZImiZPyLGQBGRMDY29tMRcw
FQYKCZImiZPyLGQBGRMHZXhhbXBsZTEOMAwGA1UEAxMFVXNlcnMxDTALBgNVBAMT
BHB3MTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC89JkTzo3zAbjv
AUuicoFICUb7bLQcehCZ+lmrLmjs8eJ5TY8grD/yxLEFCmvly2Hilmjs4+Ecir1s
zZQfZ5CJI+YZ22cKNuGb4lrfDXND+lvHnry47b4nvEXbYjBR9Cj1dyCQ5hdS3PlJ
Vxbui+zbcvN3JUVV5wupXWK0PKzoB/sP+5SOyLub/3QGOJOFZvYvDJQUBoQ3HGBS
lXAzfuXJvjvkMUfB1FaD+XXHGwDJKaHDEmd4qlHHQtslfOgXq7i6rYG3gM42VKRu
By7c1udTR9Mzw42mbKNvkrp87NR+fP0YtAGwtHLkxSpyNu71tzt1vIEkZg9Kqgk3
oYFibu3JAgMBAAGjggKQMIICjDA8BgkrBgEEAYI3FQcELzAtBiUrBgEEAYI3FQiE
wbxjg/SXIIe1lRWE8OQ+h7mXUk6DnepVnL1uAgFkAgECMB8GA1UdJQQYMBYGCisG
AQQBgjcUAgIGCCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIFoDApBgkrBgEEAYI3FQoE
HDAaMAwGCisGAQQBgjcUAgIwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFERdkI6e2JjU
60OG3MWhEcnNMbcaMB8GA1UdIwQYMBaAFEnLXthGACosdnBKTWb6r4Z75rlnMIHg
BgNVHR8EgdgwgdUwgdKggc+ggcyGgclsZGFwOi8vL0NOPWV4YW1wbGUtV0lOLUlW
Q0Y0ODZPMDNTLUNBLENOPVdJTi1JVkNGNDg2TzAzUyxDTj1DRFAsQ049UHVibGlj
JTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixE
Qz1leGFtcGxlLERDPWNvbT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/
b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwgcwGCCsGAQUFBwEBBIG/
MIG8MIG5BggrBgEFBQcwAoaBrGxkYXA6Ly8vQ049ZXhhbXBsZS1XSU4tSVZDRjQ4
Nk8wM1MtQ0EsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNl
cnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9ZXhhbXBsZSxEQz1jb20/Y0FDZXJ0
aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkw
DQYJKoZIhvcNAQELBQADggEBAEjdKUfHodjVNJheABu6TyPL3gL0+S355EMYDpTU
6ho06+a1IWDbR5vUZMePzc8Ow4DW7V/GybwS8PcDMsK+MsVhLL4KB/uP0BFNUPjH
jJnoi1tmt4C5YpqjPW3biFvIOSjtuZ49t1xbkmj9SO2cc8/mOmCI9WN/sX8Y0JXO
nD7y1XE6oQUxKNjEaN7aJ3juvsFsxBhGB8FH2DjOqMLykOlu26lJQCmLBSWoNCWR
3J1NF1Eu/p5VLx6ivM739+AAVT7ZzkPFjBbk4fkmSCw9MGV1Vk8Vp8elMFyD3j1Q
A1gPsmepITG7yGbxcn8ct4dmvew/73ebjk7YA8WhHVeWKhc=
-----END CERTIFICATE-----