소스 검색

Update TestKeys generator and include cert files

Nate Armstrong 7 년 전
부모
커밋
1e19905ecf

+ 29 - 6
Sources/RootsEncoder/main.swift

@@ -52,22 +52,45 @@ s += "// GENERATED: DO NOT EDIT\n"
 
 if CommandLine.arguments.contains("test") {
   s += "//\n"
-  s += "// This file contain a function that returns the contents of Tests/ssl.crt and Tests/ssl.key.\n"
+  s += "// This file contain a function that returns the contents of certificates and keys in Tests/.\n"
   s += "//\n"
   s += "import Foundation\n"
   s += "\n"
 
-  s += "let certificateForTests = "
-  let certificateURL = URL(fileURLWithPath: "Tests/ssl.crt")
+  // server.crt
+  s += "let serverCertificate = "
+  let certificateURL = URL(fileURLWithPath: "Tests/server.crt")
   let certificateData = try Data(contentsOf: certificateURL)
   let encodedCertificate = certificateData.base64EncodedString()
   s += "Data(base64Encoded: \"\(encodedCertificate)\", options:[])!\n"
 
-  s += "let keyForTests = "
-  let keyURL = URL(fileURLWithPath: "Tests/ssl.key")
+  // server.pem
+  s += "let serverKey = "
+  let keyURL = URL(fileURLWithPath: "Tests/server.pem")
   let keyData = try Data(contentsOf: keyURL)
   let encodedKey = keyData.base64EncodedString()
-  s += "Data(base64Encoded: \"\(encodedKey)\", options:[])!"
+  s += "Data(base64Encoded: \"\(encodedKey)\", options:[])!\n"
+
+  // ca.crt
+  s += "let trustCollectionCertificate = "
+  let caURL = URL(fileURLWithPath: "Tests/ca.crt")
+  let caData = try Data(contentsOf: caURL)
+  let caEncoded = caData.base64EncodedString()
+  s += "Data(base64Encoded: \"\(caEncoded)\", options:[])!\n"
+
+  // client.crt
+  s += "let clientCertificate = "
+  let clientCertURL = URL(fileURLWithPath: "Tests/client.crt")
+  let clientCertData = try Data(contentsOf: clientCertURL)
+  let clientCertEncoded = clientCertData.base64EncodedString()
+  s += "Data(base64Encoded: \"\(clientCertEncoded)\", options:[])!\n"
+
+  // client.pem
+  s += "let clientKey = "
+  let clientKeyURL = URL(fileURLWithPath: "Tests/client.pem")
+  let clientKeyData = try Data(contentsOf: clientKeyURL)
+  let clientKeyEncoded = clientKeyData.base64EncodedString()
+  s += "Data(base64Encoded: \"\(clientKeyEncoded)\", options:[])!"
 } else {
   s += "//\n"
   s += "// This file contain a function that returns the default roots.pem.\n"

+ 8 - 8
Tests/SwiftGRPCTests/BasicEchoTestCase.swift

@@ -52,23 +52,23 @@ class BasicEchoTestCase: XCTestCase {
     
     provider = makeProvider()
 
-    let certificateString = String(data: certificateForTests, encoding: .utf8)!
-    let keyString = String(data: keyForTests, encoding: .utf8)!
-    let rootCerts = String(data: trustCollectionCertificateForTests, encoding: .utf8)!
-    let clientCertificateString = String(data: clientCertificateForTests, encoding: .utf8)!
-    let clientKeyString = String(data: clientKeyForTests, encoding: .utf8)!
+    let serverCertificateString = String(data: serverCertificate, encoding: .utf8)!
+    let serverKeyString = String(data: serverKey, encoding: .utf8)!
+    let rootCerts = String(data: trustCollectionCertificate, encoding: .utf8)!
+    let clientCertificateString = String(data: clientCertificate, encoding: .utf8)!
+    let clientKeyString = String(data: clientKey, encoding: .utf8)!
 
     switch security {
     case .ssl:
       server = Echo_EchoServer(address: address,
-                               certificateString: certificateString,
-                               keyString: keyString,
+                               certificateString: serverCertificateString,
+                               keyString: serverKeyString,
                                provider: provider)
       server.start()
       client = Echo_EchoServiceClient(address: address, certificates: rootCerts, arguments: [.sslTargetNameOverride("example.com")])
       client.host = "example.com"
     case .tlsMutualAuth:
-      server = Echo_EchoServer(address: address, certificateString: certificateString, keyString: keyString, rootCerts: rootCerts, provider: provider)
+      server = Echo_EchoServer(address: address, certificateString: serverCertificateString, keyString: serverKeyString, rootCerts: rootCerts, provider: provider)
       server.start()
       client = Echo_EchoServiceClient(address: address, certificates: rootCerts, clientCertificates: clientCertificateString, clientKey: clientKeyString, arguments: [.sslTargetNameOverride("example.com")])
       client.host = "example.com"

+ 3 - 3
Tests/SwiftGRPCTests/GRPCTests.swift

@@ -101,8 +101,8 @@ func runTest(useSSL: Bool) {
   let server: Server
   if useSSL {
     server = Server(address: address,
-                    key: String(data: keyForTests, encoding: .utf8)!,
-                    certs: String(data: certificateForTests, encoding: .utf8)!)
+                    key: String(data: serverKey, encoding: .utf8)!,
+                    certs: String(data: serverCertificate, encoding: .utf8)!)
   } else {
     server = Server(address: address)
   }
@@ -145,7 +145,7 @@ func runClient(useSSL: Bool) throws {
 
   if useSSL {
     channel = Channel(address: address,
-                      certificates: String(data: trustCollectionCertificateForTests, encoding: .utf8)!,
+                      certificates: String(data: trustCollectionCertificate, encoding: .utf8)!,
                       arguments: [.sslTargetNameOverride(host)])
   } else {
     channel = Channel(address: address, secure: false)

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 4
Tests/SwiftGRPCTests/TestKeys.swift


+ 16 - 0
Tests/ca.crt

@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICmDCCAYACCQCRdp7l+x1YRTANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDDANm
+b28wHhcNMTgwNjEyMTUzNTQ0WhcNMTkwNjEyMTUzNTQ0WjAOMQwwCgYDVQQDDANm
+b28wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDNUPtXcBkvWRLKLuAI
+AbmXFwInhGo71UqBwl0cxxWl0+FtGawbXF2ipZsKSrdI9gFEAv6V3z4FblAK86TH
+mQ17F94PCNdjQa26CExg77y9ot58P2D++3r3wbh8cyAvmuGgOpgXv1hwwm94rIl7
+BZls7enT8xjH4p93rtz7dCrtjCiFtUWDsYy7vjX65YU6HUAQtujRSOM8gVP++Yp0
+4nm7t8lNCEEqARYjskrTgVaD/RC60Q+tYfB+cATno02QJlczl8vpSUdzPz4W3A9q
+msWZ0+Wjvv1v1sbI53DCPG3eoDnDdtP7EtD5HdFAUeldkU/8aHKmPHH0ZOFuCA5t
+63x9AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAHQW8RlUk5tcb38jDB1OWS6GfWUV
+9kS8bUtFuisinCd3nlhRcB76nqrlMF0Ii4OyYQ8kyzMa10dyqdVYk88FL20NbNde
+j1pzixXFRP5q4HpeUif6W/UkKHR5AN4wkTHrqAjEj76u3zTk1g173x7cvQzzrfZq
+nbg2UwPpFBqLDJHW/2kHjb+Sbdq6g5BKNyjVBpIJckjJ3V1XPZ/XvZft4HYBjQ5u
+ymDXWBw0ntdy8wM3S6c9AIisvZrTGyHNxdN69XVkgeyba1XPP08xpReMnD2pd/yF
+VRTqmM9r3spMGPE+yKUK7z4OpYvscq5agQISblYY0itN1EevEjnmtjmo9QE=
+-----END CERTIFICATE-----

+ 16 - 0
Tests/client.crt

@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICljCCAX4CAQEwDQYJKoZIhvcNAQEFBQAwDjEMMAoGA1UEAwwDZm9vMB4XDTE4
+MDYxMjE1MzU0N1oXDTE5MDYxMjE1MzU0N1owFDESMBAGA1UEAwwJbG9jYWxob3N0
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzwtCR53jheCf/vUuPq/Z
+Q2PyWWy8yh9+0ALxa30nUTLokzXXOpRsu4szaTW88xyfp1aHnjZgNO4igv5xD0cY
+ANqcdgAReGt7J4+KK/keao7cpt2h6uD5991n56kW5pKIJ7P6QHvYxheFl98akPBx
+BmvJ/9iKcq4pE+gNyWZ/ViY1hYOtGZaPgabhXGWYhRl0ajO3xehYmqU2fkhNhEbu
+S9LoRhfHCfm+g+/M5blnFAo/kbKVex/Iy+mBnOUssDrZTdQe2jLI0F6JsX672Hx/
+cF6QQ7BsDLWfF/0KGxj3t9EMXSKYSZeOp27C7Fy2kYLgwcvhRkESTPimnrTmqTKk
+/QIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQAfXQ07saJyeFryUqL+HMxfdCo5IGvv
+dSb4UFZ/8WHJ0IE52xueaFh2/ftyAcBRFpDkHWiEvpyLp20LI1iba1nR1AyKrcTL
+JdsbNiF1uMjfGdXA0mPVljkLluLOD4+V8Idtrf5PEzMPzaIsCMNbNyv5BB+87gSm
+D2u4dKYtlnaSIWKOkWu1Oz5o2HB+nIzoaKCjztamaYlE2T4clWTt78iA2tIhyjs2
+neRjXmXeCliMmy6D8re2qJk8rHLBwQutP+jc+TpQUeIUEJqWLlZBPYi9BD3jrdU6
+rbNJQO3wLnzrCldRgjLGLm8hHYOXn7gTL+vTpDT8aMuIfK2qXRj/Eg+A
+-----END CERTIFICATE-----

+ 28 - 0
Tests/client.pem

@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDPC0JHneOF4J/+
+9S4+r9lDY/JZbLzKH37QAvFrfSdRMuiTNdc6lGy7izNpNbzzHJ+nVoeeNmA07iKC
+/nEPRxgA2px2ABF4a3snj4or+R5qjtym3aHq4Pn33WfnqRbmkogns/pAe9jGF4WX
+3xqQ8HEGa8n/2IpyrikT6A3JZn9WJjWFg60Zlo+BpuFcZZiFGXRqM7fF6FiapTZ+
+SE2ERu5L0uhGF8cJ+b6D78zluWcUCj+RspV7H8jL6YGc5SywOtlN1B7aMsjQXomx
+frvYfH9wXpBDsGwMtZ8X/QobGPe30QxdIphJl46nbsLsXLaRguDBy+FGQRJM+Kae
+tOapMqT9AgMBAAECggEAV3ckKukSgy4fqS+et7DGEegZK5n6L1Ea23lCz+vxPiZJ
+hlcKc57cSGZH87xV9EY1VBYD+NxzzCiFv90JmjCofUPdMSRaPQr63f2Pm4AET3PG
+119t1bHxJ7sK+BzApetlRZCMuc0YCKdLMpt3t587wECs9z5dTpEwnU489MYuKQ/8
+oCNp6cxfQ4fedoXE3FI+rBk66d8ropHtYiY20/JQXDXMCh57MmX1tRXOmxbqEx0i
+EGVbAQjQk90BJRYw8THTFIO1iGUhn0q0uuLdtKpcC9HeCv5Zn3HEiE2eyrfZpybw
+KS9x6DjszAputDBmERztNyXS+sNrMLH4pM/DyCRPKQKBgQDrMHApGkn7BvqJfkEe
+hWlG6pa4WrOAX2JnRudv0iVQZE7i2mAysC/rW92T83p5AaBXgzlPuZrTb3tfIRDn
+pHTMylYcVZ0lwIGiQyK8Ox1x6uXCy2xmNqwIuff7V/711HQCClPY2a0AWhEPrzl+
+QSSlc2fnjmdsheOPlK0cseVbOwKBgQDhXUSwM/u8oOzKsBLzZ7hcaY1JqIwZg7iS
+7Zg5rdSSXBz+aaQc0lpKveNmmPJzQky2pbc2ICsyTtwyQeo4g2q6N1lM86Ejtu0y
+PU0IN+YoJlgbq02T+diBw+pTM7M83zJwRljOpD5317hT9OSxQ2nqkIyah1uLJYQS
+vdXHMWNNJwKBgQChwwsh+ibwNXiUoPYBHBmw4SERY7EaloCEMEx2qL9pb9SiSzjn
+JC+RXfolDM4r9GZoSqVcpHhM/NyKLaAG8yIyyOg5TNltYd7H0A1QEgjKlZm6RVgl
+ZW0mA2MAySFfy+SOkrPg7rcDCu+5LfgJUpz1/050AYo5Jk3CL6xxlBoAiQKBgHQj
+yrg7sendzOoPn1SNCTemtcdV8w1bEo21oBNpf/kFO3PpIUgxJ5MJFN3UyG2Zp0sh
+T6+3GEvO1C+aRIhnQWNCDuVXUJ3FMawIZ2Bq3lOmnxVzTIGL6oXFX0cNh7tBEw9F
+UZL8lazRIQ8zT4ACy9y0LaGdTBIDfXLjHf6PdytVAoGAcHZN0A9J2FASD1CyIyUq
+Zm8RyZzUCF1SHXcKeUKfnvyLyOenK/Si4pWzO97no+KVHShJ66caCdHBPwUTwbS0
+XEqOaCivbzUhfjOv5j+SiYzWk55WOdpBYZUcoO0gQJNCQrjPlV0s8lwVgq+6sPC/
+fCAX5DBJIuC9Jlflrw56KLQ=
+-----END PRIVATE KEY-----

+ 16 - 0
Tests/server.crt

@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICmDCCAYACAQEwDQYJKoZIhvcNAQEFBQAwDjEMMAoGA1UEAwwDZm9vMB4XDTE4
+MDYxMjE1MzU0NloXDTE5MDYxMjE1MzU0NlowFjEUMBIGA1UEAwwLZXhhbXBsZS5j
+b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyVMhjqfkIQT2eN1rG
+ZHiZgqOD7kk61+jFE6XDGx0awku/VF3rQJOl8vaDksDsRfa0V4JtWfspj/4+Xrdg
+1wxXorNwXBvQ41VKGt6rgznIf/REHXGcidI2PxQP2RIQG4LqOTJAr8JOQ/XQkJmH
+98myHlWoR42qRZ7fJLeQs7gXig4NvCk9+oaOIty5JME7obDSrpEE0zDIuRTao5S6
+AhCJQRxwgHVfCgssUIUNB2MoHEFkCeX25/8kJrTgan+0XzIka1BVcVfRDu0WOR62
+kdQbBIuMfR0PrLkhbO+hnYudPw9sZfLgLwQlxbB/fyUzIBSNJzK5sRKIOP+COQs6
+G5KfAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAEEcLWf1Lzu67tzYaLSzkSk+3U4a
+jRdm5Mh25HRPguSmDZycW6LWTfBIirgi98YAdf86XnLrOapty5+OS1vOXfmRum9W
+ZgJPj6dVs6mZk5/ppegj7FYuroQ/ItYiO6MCRpouDcDuCAie5ts1dDUfjHIb978X
+RO7ZFjQ+8eXqWbwc82q1cYjuLLROG/TJjmd8VZ4eK9XmZ/xtB43xllKcQfwqPVzr
+eIo45ydBmKuhAaEZnWrpcmi1mBZK42Z4P9zBmWPrtr5Sg/QIktEkNtCfJSixKZ9p
+OuupDH9yxlspVyeq0140pRGO1+fB/K0/KEPu+uwXNItClCLwYNRwvCLL0HU=
+-----END CERTIFICATE-----

+ 28 - 0
Tests/server.pem

@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCyVMhjqfkIQT2e
+N1rGZHiZgqOD7kk61+jFE6XDGx0awku/VF3rQJOl8vaDksDsRfa0V4JtWfspj/4+
+Xrdg1wxXorNwXBvQ41VKGt6rgznIf/REHXGcidI2PxQP2RIQG4LqOTJAr8JOQ/XQ
+kJmH98myHlWoR42qRZ7fJLeQs7gXig4NvCk9+oaOIty5JME7obDSrpEE0zDIuRTa
+o5S6AhCJQRxwgHVfCgssUIUNB2MoHEFkCeX25/8kJrTgan+0XzIka1BVcVfRDu0W
+OR62kdQbBIuMfR0PrLkhbO+hnYudPw9sZfLgLwQlxbB/fyUzIBSNJzK5sRKIOP+C
+OQs6G5KfAgMBAAECggEBAIp0LMjENKbmEDMAgye45bE5rj5GCPD4pK4t3Oqn6GbY
+Jvs7Q1fc4UVcZ2wrykEm6K2Hq6m+zLOuKhS+cN1s2RZJKcu4l5gMiDFqvyqmTXyP
+a1RfD9AbaOvY+Xh8bfu3gGLdWVjDnLYrKXRub+USyrPRvWtTcneaagiRdzuPbQRI
+TIrbswGlxm1Wr7XzYYA4ev7z1bXp1jUEwYItJjwE5Cmghj3IVj7NsxQ8F07H3Pgx
+rrLf/fpd2lS/a34tXL6OcH4JneOg/savhdK4O0hEn3b6d/T7V88B01NfPGCFbaz/
+bh38y/3bk51SXdsuoIzTWVqQLQ3FBB18bxO1hjBG6eECgYEA5d0sOWokK9uDiO0q
+77NeuIw/vs5tqGrAHa/s4VbhUr0Ne+jRq1TQB1w0EEnnuFXHgFOae2SewRo3lF8H
+dIu5Ciz0v/wDqI+wQWZCFv1kzqsHFmgDwckH5dFJN808+NaWpCcHqrh6wSswbP2l
+ftQpRKw5IrsdCui3tVTXe77HQSkCgYEAxpubG1xzsO2ApDkeRxWZeyaccPCI87rI
+vkyKXQE+i6x7MTUBojTzx30UYNLyNMc1b2d7fz+Atp/v3tHILVdsc9XiUD61RGSq
+5DoxdoyW4974PZHv+rbnJUvXCwmhAzjm5DcOCJZF5hjzp3CuX1ewfpBkXoMr4i2Q
+iqrG4+1fRocCgYEA3Ctl8bSF4vBGY//vMVsYbiH/6M4m4LsnOwhIF2q1Nh/Y64eM
+VNRO0c3yHGv9pGWdSoBJpskw+nsXI2mGZY5zdZir8bv88RZ4V5wPz590UDQm/MIy
+XwokI2+79tQCA8Le1WqBAHflNGMe5jZprzqeMKXZsDeTUOCpHeme4GtSxUkCgYBz
+viFRe7qMZIzwp7zmbkcIxwKqqvMVH0h35oFIHD6IBZexoJN4JWXgXxtuJeEzMtkI
+OIV3LdnkFCclcpo3GljA1OfUHgdjeUtCQEutK9ePqtR+hTsWoFrqmF0VOKJWD2Y3
+n4IVLQZFR0tPzFJCjAb2a02i6sy7PhSbS1UnZaF9pwKBgQC4U+hj2/bMA7TQ+duN
+akEn7+hwBKYfpn9Pc6ZR3IEXNgVMRtdML0CJItPmlGS95mR1AxvDGMxhawnTsAeS
+NduQAztM615fcJd6C9dcapW6fyns61vqcWKJmXcR2GBT31VIz98l24lz3EhVrsQO
+nOxD7wW4fmzFBXNgIYJUTeFA1g==
+-----END PRIVATE KEY-----

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.