@@ -116,12 +116,61 @@ void main() {
116116 expect (ctx, isNull);
117117 });
118118
119+ const validCertPem = '''-----BEGIN CERTIFICATE-----
120+ MIIDCTCCAfGgAwIBAgIUaf9MPYX80yFJlevK8mydpFPRUSUwDQYJKoZIhvcNAQEL
121+ BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTI2MDkyNTA3MjQzMVoXDTI3MDky
122+ NTA3MjQzMVowFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
123+ AAOCAQ8AMIIBCgKCAQEAsqAeJVJ6+kJnPFp9Bzjm8pjxTLOSJ0DvkJ+BsHF/rW0H
124+ hDU5rFY6xgMUyM4Y2bXBa+BVSpnhzVEr6zOr5hebDq7fbTrtL3YSiCtxEVqlqjZg
125+ njHl9/A90162YvbR1FOOshYGcARbP/hWsuJUNJRzX9Loqk+DDGHG1HdYF8ra81aQ
126+ naWiImvXGWD6oQYG0HlSgzhMsFJrYXxc04z/PA8MTKiKtiEhNttyrexp7MEL7zMu
127+ xD11Nwmxsi77p1IJ88ijri73ck9Rogz0LwhY/SUM8JAN8bCX+HaHcwH15SrXY9Yy
128+ ec6gKXM4U1Jr0ZQ3An1eUNVg4SWpLbbn9oxrBms2vwIDAQABo1MwUTAdBgNVHQ4E
129+ FgQUz0yjkIl5wxdfbvjBtmOTokQgCM0wHwYDVR0jBBgwFoAUz0yjkIl5wxdfbvjB
130+ tmOTokQgCM0wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAlt5X
131+ t/a9GmtPaw8cGZ4Y/xGT3aFoAQ+TBHLY+pDRR7erIEmWhwqf33uW+67DKW9jldeN
132+ NofYn0sO4b4pshqBxhhcbnOWW+z37+njqdd/xUZ30siSDAf4FhwnaVNdPhAjo5uP
133+ +UQ8dpr4NH9RKcNf0PDUmO1WCgjTIa1/XMqOQ5e4qfz+bbsQNVlAAXbXP6jJ3XmY
134+ opXp+c8iH9E/Uv/wr9P5biqY9BzcrLciA08kUZBl4gF9dgBqsUQeSOnXOMeHNY2j
135+ Bq/8MW8ajmUnR+/RHEOQNdVPSpXfeiyhHC1yC0RClPs0jYaEMboczJ/Z0AbagDuv
136+ 3dcW4xSuDp00JS6xLg==
137+ -----END CERTIFICATE-----''' ;
138+
139+ const validKeyPem = '''-----BEGIN PRIVATE KEY-----
140+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCyoB4lUnr6Qmc8
141+ Wn0HOObymPFMs5InQO+Qn4GwcX+tbQeENTmsVjrGAxTIzhjZtcFr4FVKmeHNUSvr
142+ M6vmF5sOrt9tOu0vdhKIK3ERWqWqNmCeMeX38D3TXrZi9tHUU46yFgZwBFs/+Fay
143+ 4lQ0lHNf0uiqT4MMYcbUd1gXytrzVpCdpaIia9cZYPqhBgbQeVKDOEywUmthfFzT
144+ jP88DwxMqIq2ISE223Kt7GnswQvvMy7EPXU3CbGyLvunUgnzyKOuLvdyT1GiDPQv
145+ CFj9JQzwkA3xsJf4dodzAfXlKtdj1jJ5zqApczhTUmvRlDcCfV5Q1WDhJakttuf2
146+ jGsGaza/AgMBAAECggEAAl3Kz02fyHMa5bq3uuHV4o67bVcz8/h1wbrMX6490UWQ
147+ bP+88O4IXycJJ4Zwlo3EXP/+vvtVC9Lr92JayUbG7JgWVl7BZ8rqJTirQJT16nT+
148+ 9kBoQypBGtqIt5gzoLZlz+gEXNDTGhMQg4rhCyD+VgIlo1tkco2d6OvyZppKTUWp
149+ kXmRE3I4BR7hinTGcKGq2b5GHb408ZumCgjgZfwtGHdqhQzoRw/j3GZV4r+7p/Y8
150+ ZmBtonapsHNicgGn0NK488hkTIk2G8kzww5Xuo4UFr4ZEmy6dGLCGOGDzwTBTBho
151+ uoiSapd9Xi/F4UBH9sjMn6UJBn/3AzUD6tCl2WA0HQKBgQDd6Q+zK2p5mSZZSaGb
152+ RyGXk0y9fGurQ02sB/fOWEjzia85LrkmdC7BZykdgwJ2iOJaYYXTpgpMqgf1nCRq
153+ S8WbC5ik0NclE7SYnYnTc5gW6QjU1cHX0QOzjzu58DPUc2ZBu2sQlV5Ffwhzsr+I
154+ o2uBxDlSavHexY2GPnUMmMmiCwKBgQDOENC+HrQEX+3bOUQELJQDTx9j+uChNmAp
155+ jHynO1iDGaM+uyd6NhqtGuXBPHhEUcVMFfp/VOKfO5q+ckO6LcLHXVduQ21+1+JA
156+ vo47z5K14ynZkYN1NJdaXgCKBW/k+JG7hId2zeFxzEPiSzj+7rxGRbvPE/RJhjU5
157+ P0kb/nRCnQKBgECsV+MD2DgwJjkHeI3koSmnyEnBJS/4oX5tpA8DM9+mVOb5cwR9
158+ /9Jl2lm7gNBC/JUSrwoL7hyBwWgXZZWFF8YkDwyZwNoRcCS6ZRy3J7AlomlFEwVu
159+ 6QE/0UxTcQeNylOF56IhpiPi7feqNKAB4KclJP+cI3mlYaWqNjrBnKIZAoGAXVWY
160+ dsSJXQHmRkll2U4nrGgGG87iN6LdY3RScZybtqXCHwO+GcivxIBOWHv/LVKsPo4l
161+ 686S5vSkXmZ67rUTaCGLHFJGIhG+VPz6h3S5StEdf4I9PLUZaMDzFZDo4ZkEyR56
162+ DQGrf1O526GeqzmO5XVoX572Iuc67DcR8jAKkLECgYAkPigDPHZ5d5kFcS/YEya2
163+ Rew/doODqiEstN7GO89KNLi1dDbuUOljs8ii2WY71XE7KQFBN2Fv4qVxdl3AfgnJ
164+ kbu2ounmhZaVEbvHOw1zCcCYo25vBxcAa8zoBX2z2CAfN7/vkdOHKVDPr+wSnwaS
165+ eQ6/4mA+Eqf0w+s+IOflBw==
166+ -----END PRIVATE KEY-----''' ;
167+
119168 test ('buildSecurityContext initializes SecurityContext with system trusted roots' , () async {
120169 final testDir = await Directory .systemTemp.createTemp ('querya_sec_ctx_' );
121170 final certFile = File ('${testDir .path }/client.crt' );
122171 final keyFile = File ('${testDir .path }/client.key' );
123- await certFile.writeAsString ('-----BEGIN CERTIFICATE----- \n TEST_CERT \n -----END CERTIFICATE----- \n ' );
124- await keyFile.writeAsString ('-----BEGIN PRIVATE KEY----- \n TEST_KEY \n -----END PRIVATE KEY----- \n ' );
172+ await certFile.writeAsString (validCertPem );
173+ await keyFile.writeAsString (validKeyPem );
125174
126175 final paths = SslCertificatePaths (
127176 clientCert: certFile.path,
@@ -136,7 +185,7 @@ void main() {
136185 test ('buildSecurityContext applies custom root CA certificate' , () async {
137186 final testDir = await Directory .systemTemp.createTemp ('querya_sec_ctx_root_' );
138187 final rootFile = File ('${testDir .path }/root.crt' );
139- await rootFile.writeAsString ('-----BEGIN CERTIFICATE----- \n ROOT_CA \n -----END CERTIFICATE----- \n ' );
188+ await rootFile.writeAsString (validCertPem );
140189
141190 final paths = SslCertificatePaths (
142191 rootCert: rootFile.path,
0 commit comments