Skip to content

Commit

Permalink
Add GCE EK/AK certs; test GetGCEInstanceInfo
Browse files Browse the repository at this point in the history
Testing on sample certs from GCE.
Include both cert issuers, signing and encryption certs, and RSA and ECC
certs.
  • Loading branch information
alexmwu committed Nov 23, 2022
1 parent 93f1df5 commit 629c6ac
Show file tree
Hide file tree
Showing 10 changed files with 331 additions and 0 deletions.
30 changes: 30 additions & 0 deletions internal/test/certificates/pca_tpm_ecc_enc_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFPDCCAySgAwIBAgIUAN1751sWgouYWLa/pTvVlaUUZF8wDQYJKoZIhvcNAQEL
BQAwgYYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgTExDMRUwEwYDVQQLEwxH
b29nbGUgQ2xvdWQxHjAcBgNVBAMTFUVLL0FLIENBIEludGVybWVkaWF0ZTAgFw0y
MjExMjMxODMzNDNaGA8yMDUyMTExNTE4MzM0MlowfDEWMBQGA1UEBxMNdXMtY2Vu
dHJhbDEtYTEeMBwGA1UEChMVR29vZ2xlIENvbXB1dGUgRW5naW5lMSUwIwYDVQQL
Exxnb29nbGUuY29tOnd1YWxlLWdjcC10ZXN0aW5nMRswGQYDVQQDExIyMTg1NTcz
NzI2MTYxMzcxMTcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATs9iOnFdyuCeRM
TNk8ScaCsT6a8RH/Us9unVHgN2VUxFB/ONuUV0jK1ouVlpT7vO4uDbWQXWWh+A/S
Hr92nc/Co4IBcjCCAW4wDgYDVR0PAQH/BAQDAgMIMAwGA1UdEwEB/wQCMAAwHQYD
VR0OBBYEFL7MJnf5QKjL9i1nhj6afnZysT57MB8GA1UdIwQYMBaAFOlmc1RnZhvv
3WW/5ehc45ELmwVSMIGNBggrBgEFBQcBAQSBgDB+MHwGCCsGAQUFBzAChnBodHRw
Oi8vcHJpdmF0ZWNhLWNvbnRlbnQtNjMzYmViOTQtMDAwMC0yNWMxLWE5ZDctMDAx
YTExNGJhNmU4LnN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYzU5YTIyNTg5YWI0M2E1
N2UzYTQvY2EuY3J0MH4GCisGAQQB1nkCARUEcDBuDA11cy1jZW50cmFsMS1hAgUb
WkdcaQwcZ29vZ2xlLmNvbTp3dWFsZS1nY3AtdGVzdGluZwIIAwh4xb3T2Z0MDGNz
LWRlYnVnLXBjYaAgMB6gAwIBAKEDAQH/ogMBAf+jAwEBAKQDAQEApQMBAQAwDQYJ
KoZIhvcNAQELBQADggIBAAMnCPrgj9zw3bYVXPFqb74lEeRJ1TvAhZbSp8w3WaYD
UXAj+dvBpCB526XPpnrdrMDdOQrAQBn17Hbu1b+0Ogj7F06N52YyFOv+fL9xyjen
/bmNboTQ74vacte0XcPqIo5O7Y+pFrnjXO4DRFNLNgIWyBKio9JZ6IwR+PjS8yX7
IQa5Q9z3+Tg9YBTINKPSP5QM5YrXpCg2S8xosKKuP0d+Ada+eq7NYGssF2euCJ3V
NwPh90zID1dYPE2/cLemQYUyMYSyEaUXZzjDKWo7aL8GTQ/HSMf8ykvKk6MysZDw
SwzchkqFcU5ZyFaQfUZYAk/jHd30K4BwuIeFIlq5JJ8I3A4A6GUUyf/pN+nFBtWM
6CAlZ7dasV4DihcLOh8a9yEN0eDYzwJAb3HP+ToGNMft/Te3YwYf97V0kQQzAn9b
ggsn3Fo1vt4IOb2X4kmK6HJCpYmACjPS/6qLWEFHQKWj02H/v9+QBcI1dbSAIPmv
ejcLA1TZj1yoMqFncnwUnA76Oji04qi/FAR+nXUIRvp5Lr7OBUXj/2w+1SvnrVrg
MwD4qsqHX9HdWQQotyR8PyA22kDm4Ibg+KagpjEdebD1wrDLSy8Wvywv+KJ9bOPH
gbffQrFCZobvGF85LyDfp0rjqimVIq9TJyPujm0vcL09YlisX7bHm0MJKRbgPfId
-----END CERTIFICATE-----
30 changes: 30 additions & 0 deletions internal/test/certificates/pca_tpm_ecc_sign_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFPDCCAySgAwIBAgIUAJtIm0yaobUpU4q//Uixoe5c27wwDQYJKoZIhvcNAQEL
BQAwgYYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgTExDMRUwEwYDVQQLEwxH
b29nbGUgQ2xvdWQxHjAcBgNVBAMTFUVLL0FLIENBIEludGVybWVkaWF0ZTAgFw0y
MjExMjMxODMzNDNaGA8yMDUyMTExNTE4MzM0MlowfDEWMBQGA1UEBxMNdXMtY2Vu
dHJhbDEtYTEeMBwGA1UEChMVR29vZ2xlIENvbXB1dGUgRW5naW5lMSUwIwYDVQQL
Exxnb29nbGUuY29tOnd1YWxlLWdjcC10ZXN0aW5nMRswGQYDVQQDExIyMTg1NTcz
NzI2MTYxMzcxMTcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASS5HUfHychSmCk
+frbMEgppFxMvTi1VpIfbWwbHeiPhhEgtDSraJ+mCJgwdHQXNOXl5/74dbYncB/D
0x5JcxFNo4IBcjCCAW4wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYD
VR0OBBYEFCyDMmPh6hHdoLceZIDh4i1Rfx1VMB8GA1UdIwQYMBaAFOlmc1RnZhvv
3WW/5ehc45ELmwVSMIGNBggrBgEFBQcBAQSBgDB+MHwGCCsGAQUFBzAChnBodHRw
Oi8vcHJpdmF0ZWNhLWNvbnRlbnQtNjMzYmViOTQtMDAwMC0yNWMxLWE5ZDctMDAx
YTExNGJhNmU4LnN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYzU5YTIyNTg5YWI0M2E1
N2UzYTQvY2EuY3J0MH4GCisGAQQB1nkCARUEcDBuDA11cy1jZW50cmFsMS1hAgUb
WkdcaQwcZ29vZ2xlLmNvbTp3dWFsZS1nY3AtdGVzdGluZwIIAwh4xb3T2Z0MDGNz
LWRlYnVnLXBjYaAgMB6gAwIBAKEDAQH/ogMBAf+jAwEBAKQDAQEApQMBAQAwDQYJ
KoZIhvcNAQELBQADggIBAH+FcdsBd2t91gEXTqUd1n1LPC6jcLSWUyGTrR1nxmfo
g91mu0Go5v+e9VVpiTyar8iOmMMJqU2xEsUFHIj34vO5qfeWJxuHpLQElFmwev/3
zalbgpII4cL2GGzhsjxspGeo6xkW9Lfb7echGT+2gHHG5556NEkkyjDhQ/VhyxJz
VcsNRCWF3JFSd96ToOWFB3NG72zZZkLX+/jjdvwgX1yO2iMSSGsKSM1ij3/yY9+c
ZaZmFYxSXUL4k3VzHFBOEeCen4EI9ZQVZJMIK7TxMRgEQfmNXzcGRPhcy/e+/Mut
R0AgWBiyNr/5Hq0vHSWNpIdhya7UN1sCTy6PIvAzbSt769PaB6AQK2k163OiDEMn
PndrvBSbH29B6zhKevg16XIpnypcJykfQAd89+dWpbR815wNAnEqJ8o8F3KYFFHt
eYqZFJmKcnX40HBacQRf0EMkvj5DiY195DboQbDzLKPlQ5Xe5IHel+I4GO8T4554
/lhBXTmJ1eaPdv6k2vNcuq8WHP4PQ3NBG3MvSVFjfqXq02mRxy//vMQiQV9dFdZW
HkPO94Ucg8KZvsjzXG9WZlGyS3kP812POwAbqBgxmv5L3l1CK3J+ZjeRLvaLgt2U
bnKyvT2OvS223aB1wiNDUEuZU+IPC7Irk8ihrsYw+DtaIVthl8SCrXryB9JSA9fX
-----END CERTIFICATE-----
35 changes: 35 additions & 0 deletions internal/test/certificates/pca_tpm_rsa_enc_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
-----BEGIN CERTIFICATE-----
MIIGBzCCA++gAwIBAgIUALXGegtHgO8yDFKLEQojg1xF1dYwDQYJKoZIhvcNAQEL
BQAwgYYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgTExDMRUwEwYDVQQLEwxH
b29nbGUgQ2xvdWQxHjAcBgNVBAMTFUVLL0FLIENBIEludGVybWVkaWF0ZTAgFw0y
MjExMjMxODMzNDNaGA8yMDUyMTExNTE4MzM0MlowfDEWMBQGA1UEBxMNdXMtY2Vu
dHJhbDEtYTEeMBwGA1UEChMVR29vZ2xlIENvbXB1dGUgRW5naW5lMSUwIwYDVQQL
Exxnb29nbGUuY29tOnd1YWxlLWdjcC10ZXN0aW5nMRswGQYDVQQDExIyMTg1NTcz
NzI2MTYxMzcxMTcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClXAVc
p0raunn6vPnagF2Z0+0IXllDBlL7IXGDFfhzvbs+R7KCmvTCX+qY4TWb970Un6oC
mB1XAUsAEIH/fCDG5jTo2+b0GqhopFPXyZjj5AaIXJRkJjma/TXJ0KWjfWwsATsI
m9gDCmTNN8g+LE8pQTRWErVTlyijLD4pqAGaeZCcvE+H1MvdVoJB8zmKiBHV6Zy9
WQVvBufCNWanbLfgk0gWKZbXEtyX1iQcbfxgeCEtngTdQ4AjNcmFiFIWEVUKWCLo
vmLJbeSpZA58brUTmh7Xj5kgwIK4j2ujDEunIl+g0YnG9G+6yBEaIU2jRAEn/3ei
miMJMzu7vjvOMZZjAgMBAAGjggFyMIIBbjAOBgNVHQ8BAf8EBAMCBSAwDAYDVR0T
AQH/BAIwADAdBgNVHQ4EFgQUcZIPAMVqhZyN94r84jCUzcf+qvswHwYDVR0jBBgw
FoAU6WZzVGdmG+/dZb/l6FzjkQubBVIwgY0GCCsGAQUFBwEBBIGAMH4wfAYIKwYB
BQUHMAKGcGh0dHA6Ly9wcml2YXRlY2EtY29udGVudC02MzNiZWI5NC0wMDAwLTI1
YzEtYTlkNy0wMDFhMTE0YmE2ZTguc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9jNTlh
MjI1ODlhYjQzYTU3ZTNhNC9jYS5jcnQwfgYKKwYBBAHWeQIBFQRwMG4MDXVzLWNl
bnRyYWwxLWECBRtaR1xpDBxnb29nbGUuY29tOnd1YWxlLWdjcC10ZXN0aW5nAggD
CHjFvdPZnQwMY3MtZGVidWctcGNhoCAwHqADAgEAoQMBAf+iAwEB/6MDAQEApAMB
AQClAwEBADANBgkqhkiG9w0BAQsFAAOCAgEAVpGiKF3qHUmd0fGkKOCugmHe23gx
MDgIOzfBq/Cvnsnbrrqe6M5ZSZAEJOuglSMh8JAEREbrCO9jbp7PT6P9xyWrqVIY
koiorN5JL1Dx2gNAk0M3a+MA6+dqhReEZkOgU5O+IcT94j5JPenL7y3oZ1w2FUUY
72vIfZCmuoIttSvPSBFUB2tKoi+LaXmpgLyXJ9rS6kcvU6Epa1vreTqSovb4Whjm
s+dADNcwBDFErWVdzFC10lzcs7QGX4N+fFf1u6lW2g5/zeVxzy+lCwB6LwYLM5wO
qhYXzy4G2dfpBJ5fcuDviGy+yGRVmfLAcVClAQ1C/ITpT9BrruQsysL3mxY9M/d2
jWarSltRoMaI7GNSWrxCUXrnV9uJL90eEQzuZK0r204jyvD05/U6OXP4EV2NEFv+
L9rWYdPpZHzv25yKAwibT7r8NCHVpcECOGLccS8cSoTeTf6QXjjQgyOFjZYGcL37
vnCtc3ur5o0+9FXTUh1htEFeE/ZJtFrqTrfIzZJMjLLg0k3gCgGp3htDJDCO8vAP
1R24/zE8YdIe0UZQRS/eVQTS3/4gU3JvVN5FN9cbnomAy5RQLSCJ9sAgQtFer1C2
39dpLp6N2vxZezdjZIaCRE/ZgLSLX7/rIyF1aruf6W0ziHJTqO1EP3Vc7b9ekki/
G1jgpE+JAcOVIp4=
-----END CERTIFICATE-----
35 changes: 35 additions & 0 deletions internal/test/certificates/pca_tpm_rsa_sign_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
-----BEGIN CERTIFICATE-----
MIIGBjCCA+6gAwIBAgITL8WZe0ZgrtrvBA2tYjeAZ2VeujANBgkqhkiG9w0BAQsF
ADCBhjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT
DU1vdW50YWluIFZpZXcxEzARBgNVBAoTCkdvb2dsZSBMTEMxFTATBgNVBAsTDEdv
b2dsZSBDbG91ZDEeMBwGA1UEAxMVRUsvQUsgQ0EgSW50ZXJtZWRpYXRlMCAXDTIy
MTEyMzE4MzM0M1oYDzIwNTIxMTE1MTgzMzQyWjB8MRYwFAYDVQQHEw11cy1jZW50
cmFsMS1hMR4wHAYDVQQKExVHb29nbGUgQ29tcHV0ZSBFbmdpbmUxJTAjBgNVBAsT
HGdvb2dsZS5jb206d3VhbGUtZ2NwLXRlc3RpbmcxGzAZBgNVBAMTEjIxODU1NzM3
MjYxNjEzNzExNzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfAul/E
VeQzjLL9WkX3QmT8UbU0n8+n7At+8TuGrd9cv7fuxLPmx0XzPdwRNg/qdqGmyoeB
WLyTG+/cnGc+UZVOyINdPEuYgV9b4+5vgvjgLZjdx3Xkl4LF3arH/3KeoBFkkmJG
NL/5PCQsZSJQHMPOGxkK/whs/Q9o/cy7c/8nnxIIV6sG9xfIgidS1UctogRY79vG
DdAoVFkyDqBVG96r+tWujmeeRG9Lzvujn1bTbW/UIe4bbph0o2j38eBGgNvNA3sD
iQ1a+TySnRT44XEc57SZIRySH/7hHnrus2mwfHIzloeQeCFe2YulQ6HuO7jHnj9i
UbL4DtB6un299q8CAwEAAaOCAXIwggFuMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMB
Af8EAjAAMB0GA1UdDgQWBBSh23SUz1fGzkIvgAeBjq7XFF9L6TAfBgNVHSMEGDAW
gBTpZnNUZ2Yb791lv+XoXOORC5sFUjCBjQYIKwYBBQUHAQEEgYAwfjB8BggrBgEF
BQcwAoZwaHR0cDovL3ByaXZhdGVjYS1jb250ZW50LTYzM2JlYjk0LTAwMDAtMjVj
MS1hOWQ3LTAwMWExMTRiYTZlOC5zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2M1OWEy
MjU4OWFiNDNhNTdlM2E0L2NhLmNydDB+BgorBgEEAdZ5AgEVBHAwbgwNdXMtY2Vu
dHJhbDEtYQIFG1pHXGkMHGdvb2dsZS5jb206d3VhbGUtZ2NwLXRlc3RpbmcCCAMI
eMW909mdDAxjcy1kZWJ1Zy1wY2GgIDAeoAMCAQChAwEB/6IDAQH/owMBAQCkAwEB
AKUDAQEAMA0GCSqGSIb3DQEBCwUAA4ICAQBRfW39VoMKWdIKTZ6KsSiEavPlbvj1
WxArXrf4miVyV/MpQhP8/hEnkcfwKosHVJ/Ilxe51KQnJfhGNHTTlTLg1eGsrrqF
M8Eiq4QfjUls7f6OG1AY8FlWxRLH9gNQZhjsLJsaKgFkxFqvnjOcckpL7qbtZ3N8
AAth1eNEBFEKqaepOHY1++oyMcIIG3NiEItlcv7yrDBWeNCWSzckwV7HgeXpZd3H
OeqmhHLtiTZKoTbljXdMisgyYvt9YMC3s9Le1YVupp8l5N8VshMsPtqSHrXi48DE
dkDTieooZQJf+O7oSudWvNJLEFYpFSYD1NHVW60EFragQNzouuMwodEJbgu6Rwlh
vXLf5O02hkSIjFAo4Sst0ysWDi71lHfMuETtGyWX+It3JMpnwNzuFOLusoYy7T5p
PPXQWn99baG4Womg3ClnbTvSPBeEBwn2pHR+I8QcfeUqicSw32nP6hpA+Jt+O1qa
Pu5VSbxaJG1j1jUAdZSJymbVxST6HqZQAhTz+RuvCGvGR4m59I8rV8g2YhJblv+s
ppsB/hVTvptirr3oM6pt3b/l2uHfhon3iMp+ymOSAVHoBBYL4k6oQaWlo8HynSNy
deqMPQbG/u7Ef54sXX3EOdqhYFZA4H1nbhGXvFYUqNGJ1GMLIj9t0qIpi/Vf+KpN
HPfClPrFQGLSgw==
-----END CERTIFICATE-----
26 changes: 26 additions & 0 deletions internal/test/certificates/uca_tpm_ecc_enc_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEbTCCA1WgAwIBAgITAQwH/82FmP8uyqfdQhYLJrLe0TANBgkqhkiG9w0BAQsF
ADCBuTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT
DU1vdW50YWluIFZpZXcxEzARBgNVBAoTCkdvb2dsZSBMTEMxDjAMBgNVBAsTBUNs
b3VkMVgwVgYDVQQDDE90cG1fZWtfdjFfY2xvdWRfaG9zdC1zaWduZXItMC0yMDIx
LTEwLTEyVDA0OjIyOjExLTA3OjAwIEs6MSwgMzpuYnZhR1pGTGN1YzowOjE4MCAX
DTIyMTAwNzIwMjg1MFoYDzIwNTIwOTI5MjAzMzUwWjAAMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAEuMzHmkdwb7gAUG/qOuOqV25w/OsJlMiEnawSVQXEQonmyOIQ
qjDlRd+iQCe7LV2HOtYu+WbnWqVl8ATKfQpUIKOCAe0wggHpMAwGA1UdEwEB/wQC
MAAwHwYDVR0jBBgwFoAUZwjEdxH91YeE0ywda02Xg2CEJYAwVgYIKwYBBQUHAQEE
SjBIMEYGCCsGAQUFBzAChjpodHRwczovL3BraS5nb29nL2Nsb3VkX2ludGVncml0
eS90cG1fZWtfaW50ZXJtZWRpYXRlXzMuY3J0MEsGA1UdHwREMEIwQKA+oDyGOmh0
dHBzOi8vcGtpLmdvb2cvY2xvdWRfaW50ZWdyaXR5L3RwbV9la19pbnRlcm1lZGlh
dGVfMy5jcmwwDgYDVR0PAQH/BAQDAgMIMBAGA1UdJQQJMAcGBWeBBQgBMCIGA1Ud
CQQbMBkwFwYFZ4EFAhAxDjAMDAMyLjACAQACAgCOMFEGA1UdEQEB/wRHMEWkQzBB
MRYwFAYFZ4EFAgEMC2lkOjQ3NEY0RjQ3MQ8wDQYFZ4EFAgIMBHZUUE0xFjAUBgVn
gQUCAwwLaWQ6MjAxNjA1MTEwegYKKwYBBAHWeQIBFQRsMGoMDXVzLWNlbnRyYWwx
LWECBRtaR1xpDBxnb29nbGUuY29tOnd1YWxlLWdjcC10ZXN0aW5nAghQNz2Bve0z
8AwIY3MtZGVidWegIDAeoAMCAQChAwEB/6IDAQH/owMBAQCkAwEBAKUDAQEAMA0G
CSqGSIb3DQEBCwUAA4IBAQDmAnxWVgF1UhHeqizYt3iZuLeeMOr1UhcVGNpWzL3Y
lS/gFlgVtH5OaRv3Jv58MxCkUFB+dicsrbf+fZXJAieH2QDL63y7bBvoF5X67qmu
QmRKqbJGR3LVCYHle8G9x69ohpowOYGlhkR6co1iquj/QHzyM2x/NkclhQsbetRI
2S69J6hh5MCP5SfimLcXClyG/NJVF/f3dac/Qy6F+tXN9H8kjyG4TyqYnA6kf9MA
fV0rA1WEgW4Rmi3O+baRkJo1v1LIDqSWimIaR08eaTmYHL4gD7HyltNSjqHtT7i7
vm3FQ9zNiiYLF2lCXoefIU47yHI5ecfIcd3tb1fhThJA
-----END CERTIFICATE-----
26 changes: 26 additions & 0 deletions internal/test/certificates/uca_tpm_ecc_sign_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEbTCCA1WgAwIBAgITAfTFPNXeq+8AxC9m61oNWAQyoTANBgkqhkiG9w0BAQsF
ADCBuTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT
DU1vdW50YWluIFZpZXcxEzARBgNVBAoTCkdvb2dsZSBMTEMxDjAMBgNVBAsTBUNs
b3VkMVgwVgYDVQQDDE90cG1fZWtfdjFfY2xvdWRfaG9zdC1zaWduZXItMC0yMDIx
LTEwLTEyVDA0OjIyOjExLTA3OjAwIEs6MSwgMzpuYnZhR1pGTGN1YzowOjE4MCAX
DTIyMTAwNzIwMjg1MFoYDzIwNTIwOTI5MjAzMzUwWjAAMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAEGdy5pNrcKaAaEorgfMpE6SinW6opZGPtlJQfiV1AbqHB/2XC
6CUT69K1ET5UmGiePm4KfVSH9csboStj7vXCXKOCAe0wggHpMAwGA1UdEwEB/wQC
MAAwHwYDVR0jBBgwFoAUZwjEdxH91YeE0ywda02Xg2CEJYAwVgYIKwYBBQUHAQEE
SjBIMEYGCCsGAQUFBzAChjpodHRwczovL3BraS5nb29nL2Nsb3VkX2ludGVncml0
eS90cG1fZWtfaW50ZXJtZWRpYXRlXzMuY3J0MEsGA1UdHwREMEIwQKA+oDyGOmh0
dHBzOi8vcGtpLmdvb2cvY2xvdWRfaW50ZWdyaXR5L3RwbV9la19pbnRlcm1lZGlh
dGVfMy5jcmwwDgYDVR0PAQH/BAQDAgeAMBAGA1UdJQQJMAcGBWeBBQgBMCIGA1Ud
CQQbMBkwFwYFZ4EFAhAxDjAMDAMyLjACAQACAgCOMFEGA1UdEQEB/wRHMEWkQzBB
MRYwFAYFZ4EFAgEMC2lkOjQ3NEY0RjQ3MQ8wDQYFZ4EFAgIMBHZUUE0xFjAUBgVn
gQUCAwwLaWQ6MjAxNjA1MTEwegYKKwYBBAHWeQIBFQRsMGoMDXVzLWNlbnRyYWwx
LWECBRtaR1xpDBxnb29nbGUuY29tOnd1YWxlLWdjcC10ZXN0aW5nAghQNz2Bve0z
8AwIY3MtZGVidWegIDAeoAMCAQChAwEB/6IDAQH/owMBAQCkAwEBAKUDAQEAMA0G
CSqGSIb3DQEBCwUAA4IBAQCIKsP0EV7XiEAEYFyilqHOxhzNonz76/u8A5fUVLHP
WBJ/el2MOF3rIW7TgNYZfmk79s0UqiL5/7QzHRsdDQxWlSUJjVb3wFPxOc55Obo5
gMN8BzCGsBCfo9Qjvu3RPSVZqHFfCARvE4zIeZBhM3HLY2T/xAuR8+4D+vJnuX0Y
kATcvr6bn7VTA+hbdnAfOsLWddDsggA6GXJwh/2H65GOvMN7DlALT4kL7rxw9eT4
fdM9ZZ83XTD4m/VHXMwp4mDijsZZPovII/iqc0d8mp4iqXCdwGlCuP419lQeArOU
QznvskqssmRaAbLwuLF7CjylfR9rAok0P1UuXs2pIqgV
-----END CERTIFICATE-----
30 changes: 30 additions & 0 deletions internal/test/certificates/uca_tpm_rsa_enc_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFODCCBCCgAwIBAgITAS+oFOOC3uf6kt+EiPDqwJZfETANBgkqhkiG9w0BAQsF
ADCBuTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT
DU1vdW50YWluIFZpZXcxEzARBgNVBAoTCkdvb2dsZSBMTEMxDjAMBgNVBAsTBUNs
b3VkMVgwVgYDVQQDDE90cG1fZWtfdjFfY2xvdWRfaG9zdC1zaWduZXItMC0yMDIx
LTEwLTEyVDA0OjIyOjExLTA3OjAwIEs6MSwgMzpuYnZhR1pGTGN1YzowOjE4MCAX
DTIyMTAwNzIwMjg1MFoYDzIwNTIwOTI5MjAzMzUwWjAAMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAshCdPzL984j2kNx7k33XTAcZKVg8hT2Kr9+NQ9RD
MZNL2xVm9/kYGK2eAuT1SlDQHUrysBYI8lTd8Lw6QaXVFnzczBTmjpX0WrZsPQy0
TcpfozPWwCoOGFTA/ISIqCxkxymqiJWeQPKUBwEkweEpRqVV2NUfuZuuiMCiD3Vt
T1LtAMejt+HQtDYwuy2rnQ3uBoQF9NC5AtL+Sc//RC2bnST7AzicX5NDQGt3anYS
fETuUdLqUjSsnCTxSL5LbsQbb2FXRcpHZTnSnBiylEX2/JtPaxrojHnAnPUDJe4U
0en+235slMJDwBfXiW3deBlvj5Jdib7/xrjXHzbzmwaIqwIDAQABo4IB7TCCAekw
DAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRnCMR3Ef3Vh4TTLB1rTZeDYIQlgDBW
BggrBgEFBQcBAQRKMEgwRgYIKwYBBQUHMAKGOmh0dHBzOi8vcGtpLmdvb2cvY2xv
dWRfaW50ZWdyaXR5L3RwbV9la19pbnRlcm1lZGlhdGVfMy5jcnQwSwYDVR0fBEQw
QjBAoD6gPIY6aHR0cHM6Ly9wa2kuZ29vZy9jbG91ZF9pbnRlZ3JpdHkvdHBtX2Vr
X2ludGVybWVkaWF0ZV8zLmNybDAOBgNVHQ8BAf8EBAMCBSAwEAYDVR0lBAkwBwYF
Z4EFCAEwIgYDVR0JBBswGTAXBgVngQUCEDEOMAwMAzIuMAIBAAICAI4wUQYDVR0R
AQH/BEcwRaRDMEExFjAUBgVngQUCAQwLaWQ6NDc0RjRGNDcxDzANBgVngQUCAgwE
dlRQTTEWMBQGBWeBBQIDDAtpZDoyMDE2MDUxMTB6BgorBgEEAdZ5AgEVBGwwagwN
dXMtY2VudHJhbDEtYQIFG1pHXGkMHGdvb2dsZS5jb206d3VhbGUtZ2NwLXRlc3Rp
bmcCCFA3PYG97TPwDAhjcy1kZWJ1Z6AgMB6gAwIBAKEDAQH/ogMBAf+jAwEBAKQD
AQEApQMBAQAwDQYJKoZIhvcNAQELBQADggEBAAkNQY+mo3/MA4K6r9j3u+Oy6L7U
U/J36K9vqvBSaiAZvyltinxokBHaGEJjcvvPbMgyE1d502V9v3lpCC29akB7vKGm
jtX2xz1+3dhggfUvg8dsOz8NuEfDY9jdkm24AAYWzwgKE6vRyFsTL4MAT0eEpSW/
bR/N6IQGPjd6x0oG1QEI9At42DlJlMDoyoOYcMI4neVtupzd7jOHIkJbgBh02ZSt
dKjqW3rX6Lj6X9fPQMIBJF+On68jEslqBDOecdHQz4LAe/3JrsbczTdP+4rOu22q
udq0GffVZzjkxJtO4shLEftKeKs9D2ORAzJDsSc1vA2Y0BTJT/HeIVO7NBY=
-----END CERTIFICATE-----
30 changes: 30 additions & 0 deletions internal/test/certificates/uca_tpm_rsa_sign_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFODCCBCCgAwIBAgITAeGmu99GLBgfX5m5BZRfCowEcjANBgkqhkiG9w0BAQsF
ADCBuTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT
DU1vdW50YWluIFZpZXcxEzARBgNVBAoTCkdvb2dsZSBMTEMxDjAMBgNVBAsTBUNs
b3VkMVgwVgYDVQQDDE90cG1fZWtfdjFfY2xvdWRfaG9zdC1zaWduZXItMC0yMDIx
LTEwLTEyVDA0OjIyOjExLTA3OjAwIEs6MSwgMzpuYnZhR1pGTGN1YzowOjE4MCAX
DTIyMTAwNzIwMjg1MFoYDzIwNTIwOTI5MjAzMzUwWjAAMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA0V0sIPjLHEqXACuIlxF83FbXcFNn+9mRFB5XQAsZ
Y9mK5IMh6ZNy0x9z7owHaIegvfFudDHlI0GExj1NRMNsudNxBmdrO7gUdOBxT/DF
yKuhi/rU+R57g3gMQGCeotTmqBWVz53vualrk816QNGoS+VPdn17L2JWR+OXBrGB
8kvLW/NxDx+xG3j8MOBzLg9LjvdAWNhZ/gpvCGS/1z9GHhcBLOjQn5ye8kCgJVYR
7huDX6a+M7smN3d2b0RI6McorqCbDm0qokzHCpOSMB/KmOegdPHkDeU+A4kSg/8s
dLJJee/T8uP0PC4/3V7l+sg5lhCggmEn5Hc7C3upmHMwUQIDAQABo4IB7TCCAekw
DAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRnCMR3Ef3Vh4TTLB1rTZeDYIQlgDBW
BggrBgEFBQcBAQRKMEgwRgYIKwYBBQUHMAKGOmh0dHBzOi8vcGtpLmdvb2cvY2xv
dWRfaW50ZWdyaXR5L3RwbV9la19pbnRlcm1lZGlhdGVfMy5jcnQwSwYDVR0fBEQw
QjBAoD6gPIY6aHR0cHM6Ly9wa2kuZ29vZy9jbG91ZF9pbnRlZ3JpdHkvdHBtX2Vr
X2ludGVybWVkaWF0ZV8zLmNybDAOBgNVHQ8BAf8EBAMCB4AwEAYDVR0lBAkwBwYF
Z4EFCAEwIgYDVR0JBBswGTAXBgVngQUCEDEOMAwMAzIuMAIBAAICAI4wUQYDVR0R
AQH/BEcwRaRDMEExFjAUBgVngQUCAQwLaWQ6NDc0RjRGNDcxDzANBgVngQUCAgwE
dlRQTTEWMBQGBWeBBQIDDAtpZDoyMDE2MDUxMTB6BgorBgEEAdZ5AgEVBGwwagwN
dXMtY2VudHJhbDEtYQIFG1pHXGkMHGdvb2dsZS5jb206d3VhbGUtZ2NwLXRlc3Rp
bmcCCFA3PYG97TPwDAhjcy1kZWJ1Z6AgMB6gAwIBAKEDAQH/ogMBAf+jAwEBAKQD
AQEApQMBAQAwDQYJKoZIhvcNAQELBQADggEBAEYz+oA3KvqyZnxsQ8EGcXdYUqWm
FP4tzSKaP/JKXS48Tvdbkb1TY366azCRKD66Q7trfxbLpah/GZ4Z12n9E8NhHc+I
0b6g+PJ4YdTKtyek0eTs0P0C2fmhP+903mm3+MPJ92UgSB442+HDycIGaJIlclfL
pGNz//oOCLVjfaCwCFnkQHifVQir1yd2AUn3ssJ87MBNd28LwcQCmffkQAK/M8ez
p9PuFqere32euLPzqLqq7DgV25uCY99z0EGQt6+CadJZNeZtBYSijRBE9MQtfXxb
051ogejBZ6zc7ZzSijmsTnq8Aeu91uLXIPI1r8QRQ7wiYWezUNuYl50JXxQ=
-----END CERTIFICATE-----
30 changes: 30 additions & 0 deletions internal/test/test_data.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,33 @@ var (
//go:embed attestations/gce-cos-85-nonce9009.pb
COS85Nonce9009 []byte
)

// EK and AK Certificates.
var (
//go:embed certificates/pca_tpm_ecc_enc_cert.pem
GCEEncryptECCCertPCA []byte
//go:embed certificates/pca_tpm_ecc_sign_cert.pem
GCESignECCCertPCA []byte
//go:embed certificates/pca_tpm_rsa_enc_cert.pem
GCEEncryptRSACertPCA []byte
//go:embed certificates/pca_tpm_rsa_sign_cert.pem
GCESignRSACertPCA []byte

//go:embed certificates/uca_tpm_ecc_enc_cert.pem
GCEEncryptECCCertUCA []byte
//go:embed certificates/uca_tpm_ecc_sign_cert.pem
GCESignECCCertUCA []byte
//go:embed certificates/uca_tpm_rsa_enc_cert.pem
GCEEncryptRSACertUCA []byte
//go:embed certificates/uca_tpm_rsa_sign_cert.pem
GCESignRSACertUCA []byte
)

// GCECertPEMs provides a variety of GCE test certificates, including AK/EK,
// RSA/ECC, and PCA/UCA.
var GCECertPEMs = [][]byte{
GCEEncryptECCCertPCA, GCESignECCCertPCA,
GCEEncryptRSACertPCA, GCESignRSACertPCA,
GCEEncryptECCCertUCA, GCESignECCCertUCA,
GCEEncryptRSACertUCA, GCESignRSACertUCA,
}
59 changes: 59 additions & 0 deletions server/certificate_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package server

import (
"crypto/x509"
"encoding/pem"
"testing"

"github.com/google/go-tpm-tools/internal/test"
)

func TestGetGCEInstanceInfoWithNilFails(t *testing.T) {
_, err := GetGCEInstanceInfo(nil)
if err == nil {
t.Error("GetGCEInstanceInfo(nil) got nil error, want an error")
}
}

func TestGetGCEInstanceInfo(t *testing.T) {
zone := "us-central1-a"
projectID := "google.com:wuale-gcp-testing"
var projectNumber uint64 = 117478743145
for _, certPEM := range test.GCECertPEMs {
cert := parseCertificatePEM(t, certPEM)
info, err := GetGCEInstanceInfo(cert)
if err != nil {
t.Errorf("GetGCEInstanceInfo failed: %v", err)
}
if info.Zone != zone {
t.Errorf("GetGCEInstanceInfo().Zone = %v, want %v", info.Zone, zone)
}
if info.ProjectId != projectID {
t.Errorf("GetGCEInstanceInfo().ProjectID = %v, want %v", info.ProjectId, projectID)
}
if info.ProjectNumber != projectNumber {
t.Errorf("GetGCEInstanceInfo().ProjectNumber = %v, want %v", info.ProjectNumber, projectNumber)
}
if info.InstanceId == 0 {
t.Error("GetGCEInstanceInfo().InstanceID got 0, want real instance ID")
}
}
}

func parseCertificatePEM(t *testing.T, certPEM []byte) *x509.Certificate {
block, rest := pem.Decode(certPEM)
if block == nil {
t.Fatalf("pem.Decode not able to decode cert: %s", certPEM)
}
if block.Type != "CERTIFICATE" {
t.Fatalf("pem.Decode found unexpected PEM type: %s", block.Type)
}
if len(rest) > 0 {
t.Fatalf("pem.Decode found unexpected trailing data in certificate file: %s", certPEM)
}
cert, err := x509.ParseCertificate(block.Bytes)
if err != nil {
t.Fatalf("x509.ParseCertificate failed: %v", err)
}
return cert
}

0 comments on commit 629c6ac

Please sign in to comment.