This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push: new 015860f316 Use certificate-generator for gRPC integration tests 015860f316 is described below commit 015860f316f0b7ba62dd0e45ea6e0fd4f2aa0dab Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Fri Jun 7 14:06:27 2024 +0100 Use certificate-generator for gRPC integration tests --- integration-tests/grpc/README.adoc | 38 ---------------------- integration-tests/grpc/pom.xml | 5 +++ .../camel/quarkus/component/grpc/it/GrpcRoute.java | 12 ++++--- .../grpc/src/main/resources/certs/ca-openssl.conf | 18 ---------- .../grpc/src/main/resources/certs/ca.key | 27 --------------- .../grpc/src/main/resources/certs/ca.pem | 20 ------------ .../grpc/src/main/resources/certs/client.key | 28 ---------------- .../grpc/src/main/resources/certs/client.pem | 20 ------------ .../grpc/src/main/resources/certs/server.key | 28 ---------------- .../grpc/src/main/resources/certs/server.pem | 20 ------------ .../camel/quarkus/component/grpc/it/GrpcTest.java | 15 ++++++--- 11 files changed, 22 insertions(+), 209 deletions(-) diff --git a/integration-tests/grpc/README.adoc b/integration-tests/grpc/README.adoc deleted file mode 100644 index aed6f155b0..0000000000 --- a/integration-tests/grpc/README.adoc +++ /dev/null @@ -1,38 +0,0 @@ -# gRPC test client & server certificate generation - -The certificates used by the client / server for the security integration tests can be generated from within the src/main/resources/certs directory as follows. - -Create the certificate authority. - -[source,shell] ----- -openssl genrsa -out ca.key 2048 -openssl req -x509 -new -key ca.key -nodes -out ca.pem -days 3650 -config ca-openssl.conf -extensions v3_req ----- - -Create the client certificate. When prompted for the 'common name' use localhost as the value. It's safe to accept the defaults for the other options. - -[source,shell] ----- -openssl genrsa -out client.key.rsa 2048 -openssl pkcs8 -topk8 -in client.key.rsa -out client.key -nocrypt -openssl req -new -key client.key -out client.csr -openssl x509 -req -in client.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out client.pem -outform PEM -days 5000 ----- - -Create the server certificate. When prompted for the 'common name' use localhost as the value. It's safe to accept the defaults for the other options. - -[source,shell] ----- -openssl genrsa -out server.key.rsa 2048 -openssl pkcs8 -topk8 -in server.key.rsa -out server.key -nocrypt -openssl req -new -key server.key -out server.csr -openssl x509 -req -in server.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out server.pem -outform PEM -days 5000 ----- - -Clean up. - -[source,shell] ----- -rm -f *.rsa *.csr *.srl ----- diff --git a/integration-tests/grpc/pom.xml b/integration-tests/grpc/pom.xml index b787c20b2f..de493d19df 100644 --- a/integration-tests/grpc/pom.xml +++ b/integration-tests/grpc/pom.xml @@ -59,6 +59,11 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-integration-tests-support-grpc</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-integration-tests-support-certificate-generator</artifactId> + <scope>test</scope> + </dependency> <!-- test dependencies --> <dependency> diff --git a/integration-tests/grpc/src/main/java/org/apache/camel/quarkus/component/grpc/it/GrpcRoute.java b/integration-tests/grpc/src/main/java/org/apache/camel/quarkus/component/grpc/it/GrpcRoute.java index 179654c9f7..234b761109 100644 --- a/integration-tests/grpc/src/main/java/org/apache/camel/quarkus/component/grpc/it/GrpcRoute.java +++ b/integration-tests/grpc/src/main/java/org/apache/camel/quarkus/component/grpc/it/GrpcRoute.java @@ -45,7 +45,7 @@ public class GrpcRoute extends RouteBuilder { // Verifies that the serviceAccountResource can be loaded on startup from("direct:googleAuthenticationType") - .toF("grpc://localhost:{{camel.grpc.test.async.server.port}}/%s?method=pingAsyncAsync&negotiationType=TLS&keyResource=certs/server.key&authenticationType=GOOGLE&serviceAccountResource=keys/app.json&KeyCertChainResource=certs/server.pem", + .toF("grpc://localhost:{{camel.grpc.test.async.server.port}}/%s?method=pingAsyncAsync&negotiationType=TLS&keyResource=certs/grpc.key&authenticationType=GOOGLE&serviceAccountResource=keys/app.json&KeyCertChainResource=certs/grpc.pem", PING_PONG_SERVICE); // Streaming producer strategy @@ -111,8 +111,9 @@ public class GrpcRoute extends RouteBuilder { // TLS secured consumer fromF("grpc://localhost:{{camel.grpc.test.tls.server.port}}" + "/%s?consumerStrategy=PROPAGATION&" - + "negotiationType=TLS&keyCertChainResource=certs/server.pem&" - + "keyResource=certs/server.key&trustCertCollectionResource=certs/ca.pem", PING_PONG_SERVICE) + + "negotiationType=TLS&keyCertChainResource=file:target/certs/grpc.crt&" + + "keyResource=file:target/certs/grpc.key&trustCertCollectionResource=file:target/certs/grpc-ca.crt", + PING_PONG_SERVICE) .process("messageOriginProcessor") .choice() .when(simple("${header.origin} == 'producer'")) @@ -126,8 +127,9 @@ public class GrpcRoute extends RouteBuilder { from("direct:sendTls") .toF("grpc://localhost:{{camel.grpc.test.tls.server.port}}" + "/%s?method=pingSyncSync&synchronous=true&" - + "negotiationType=TLS&keyCertChainResource=certs/client.pem&" - + "keyResource=certs/client.key&trustCertCollectionResource=certs/ca.pem", PING_PONG_SERVICE); + + "negotiationType=TLS&keyCertChainResource=file:target/certs/grpc.crt&" + + "keyResource=file:target/certs/grpc.key&trustCertCollectionResource=file:target/certs/grpc-ca.crt", + PING_PONG_SERVICE); // JWT secured consumer fromF("grpc://localhost:{{camel.grpc.test.jwt.server.port}}" diff --git a/integration-tests/grpc/src/main/resources/certs/ca-openssl.conf b/integration-tests/grpc/src/main/resources/certs/ca-openssl.conf deleted file mode 100644 index c8622b8dfd..0000000000 --- a/integration-tests/grpc/src/main/resources/certs/ca-openssl.conf +++ /dev/null @@ -1,18 +0,0 @@ -[req] -distinguished_name = req_distinguished_name -req_extensions = v3_req - -[req_distinguished_name] -countryName = Country Name (2 letter code) -countryName_default = US -stateOrProvinceName = State or Province Name (full name) -stateOrProvinceName_default = Test State -organizationName = Organization Name (eg, company) -organizationName_default = Apache Camel Quarkus -commonName = Common Name (eg, YOUR name) -commonName_default = localhost - -[v3_req] -basicConstraints = CA:true -keyUsage = critical, keyCertSign - diff --git a/integration-tests/grpc/src/main/resources/certs/ca.key b/integration-tests/grpc/src/main/resources/certs/ca.key deleted file mode 100644 index 785a1b0386..0000000000 --- a/integration-tests/grpc/src/main/resources/certs/ca.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAya7tcM/2bJDin4fROIzX77T3NzNWDk9A8Y7F3OxKqdB15/aB -Z8FshmVR7pcVW6IbVX7l069RVbsnfIic1HHqB5t/c5B6ACwD3X3fyL5VhlTCTRGX -QPElVNBnu/8hMP1DXXQfrh6k8pZ5mpOSLRKZfkwxVfQR6tIX5uwAafnOXjVuViIv -mf0EKWggI/xtFHId3okNg/tEQCfeqAviGl5PZO6MQWlsGeyjT7n4WJfOXyyWu2cP -ssaJifUUvtiCIQ/diUW5GN6qAKK1CnfAd/Ad5gtPpQtpVqheKLGY+ZRIoDe4MmL0 -J/fkukVadUooTfxdJU1u38mYlUE5/6DUYpsqPwIDAQABAoIBACy63jBh/y5O5+Qn -1DAtlIq2YQneGdzsmOO6HYoE4f5NnIjItCSV0oLwH77BxVvgVR2eGkzbmjdgXb6R -8e5wIU50n0y7I0O8f1L1Ytd71y4GyF0dZKVjljr8SbV5PRxHX1Rvt8L/Suf+lZPB -3O6gLGjFbz+39O1WkTSG7QSUAcAExtxovMloc/qC/Jp0M/ZTonasmbC5WkvHGgCK -UKgFTYLJUmGDfj5Bk0i+ZI4gPElbGrEvMmw1l9BP3HLS1FFZiVC81m57S7RDaQQe -w34PHQT5g9tVInjuHSUR/Y0zTyRMcara3e1aF8HBBLAVf+ViMLFH4mjmFbuAxgwE -Yz9JINECgYEA45F/ZPFfj+nbE8nNnumMO9U5cLydK9LU7BCQjx3m0ygAXJIO3H2j -FlRg09DRE2F5HBiXuE6mFzTjzFRwoSH4Iqy0V4ifUiiqIAoImneY0QxjEBYf8Mgl -O+PM4WHfTU5hAbnUHDU0fN0MQz52S/f2h12uIs8AA5Mim60yURhduckCgYEA4uGH -GeC5ihsuctmmKLR1vzFudp/BhL4bNRp6psOCFCnJ1K7qaGi8/f8kAAKcVFoFD16r -Ivx+W133tqipYLzoKf4eCGcOZPAHJI2agAFREF3muS0m70hQwqWRIlbuF/J5NTBR -rboV3cQX/RxDrw5R9KV/EkhCMzZik3VrnqXxR8cCgYB2+iL4y5mCzGlVtzRh2QkQ -XzJg1rv1pYzcvuxVZvS/gTJvM43BiY4ypnrZQ1uMHnILVnA8VCJSD7zpn1wjYncw -6cp/2VYyxj/r8FL/L3geE7PXPToF0R5maXs8esccy9W76UQUW1zNy2QV5BpFLace -rsPUPxVqyQpXCf48l9iowQKBgQDNrxQh+795WwcTDAo9IM0WliPE2zQ/uXFFBUpo -YRpOWUwmyqSsHzgnNOVYNQWw2yN3OaYAw9Nx1ZC7QdC8aMY5O63ShEtiatCu7MlC -fu8U3WxMOIjxqSe+LweSkCiuAR6tf66sxuUH9byhtLwPufXGyzqWQnfxob5gXLVC -UMKbBQKBgEjiPBAhclkub+OJwYZ8+079Z3aQ31ZfVnIffNS/3y2FJvBM2Y0CmtNA -9YTuSyHO1mchcUG1bbmsc6ylvbMJ0PcoDAswQ6fURbmjvBNRcs5D9mW1ThrR2yV+ -Sg+1KqT3SM27nj1aQs0YsN7JoZT6FcAHQvzfB6KK7+lGxkwMBkGi ------END RSA PRIVATE KEY----- diff --git a/integration-tests/grpc/src/main/resources/certs/ca.pem b/integration-tests/grpc/src/main/resources/certs/ca.pem deleted file mode 100644 index 15efcf301f..0000000000 --- a/integration-tests/grpc/src/main/resources/certs/ca.pem +++ /dev/null @@ -1,20 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDWjCCAkKgAwIBAgIUI3OU/rpsBhWj1cwW9kVAc1YnTuQwDQYJKoZIhvcNAQEL -BQAwVjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM -GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEPMA0GA1UEAwwGdGVzdGNhMB4XDTIw -MDYwOTExNTQ0MloXDTMwMDYwNzExNTQ0MlowVjELMAkGA1UEBhMCQVUxEzARBgNV -BAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0 -ZDEPMA0GA1UEAwwGdGVzdGNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAya7tcM/2bJDin4fROIzX77T3NzNWDk9A8Y7F3OxKqdB15/aBZ8FshmVR7pcV -W6IbVX7l069RVbsnfIic1HHqB5t/c5B6ACwD3X3fyL5VhlTCTRGXQPElVNBnu/8h -MP1DXXQfrh6k8pZ5mpOSLRKZfkwxVfQR6tIX5uwAafnOXjVuViIvmf0EKWggI/xt -FHId3okNg/tEQCfeqAviGl5PZO6MQWlsGeyjT7n4WJfOXyyWu2cPssaJifUUvtiC -IQ/diUW5GN6qAKK1CnfAd/Ad5gtPpQtpVqheKLGY+ZRIoDe4MmL0J/fkukVadUoo -TfxdJU1u38mYlUE5/6DUYpsqPwIDAQABoyAwHjAMBgNVHRMEBTADAQH/MA4GA1Ud -DwEB/wQEAwICBDANBgkqhkiG9w0BAQsFAAOCAQEAF71GOXN1C7bd7kQdnLC87uQ+ -cF9REcrGb9kCF8YTRNDXTAIWAYRE4b8gGEPstOjOC/Kr4q4R0NqzYoXvWCnxUfV0 -ZyD+wlZTPNzkFRyJlIYFqwYJIoUvB/Qs/nbPINd4W4YSzeTdHuP98FR8nfEITQ36 -TZq2zTSwZSb0i14LRxe7uZjvZlK0rqiH2ELj3hSa40aq3g6b6cmZfZzILIATIg79 -iF47/kmPudi9/CvkU6GZ89suKkBDwOmqULLVqPL607M3UFTQs5qmyv9Ybr0pd6M2 -vs2KaYSobjToBwSDZ6dImp3+fQnjbNTi6VR+tfVEifGvVcq925Be6Z1u8KE8qg== ------END CERTIFICATE----- diff --git a/integration-tests/grpc/src/main/resources/certs/client.key b/integration-tests/grpc/src/main/resources/certs/client.key deleted file mode 100644 index 860491e01c..0000000000 --- a/integration-tests/grpc/src/main/resources/certs/client.key +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDOt2D2q5xddLk9 -h7pFk2qcg2ySFgqzI3oGbWwncWoGY3LizXAwPJr96ZhWwoVDvhwWONoSs53eWTCr -gLn12teacgk0ZuTuEzaThAePcLfnpT9QQiYXjyjpApJGnYOy48n3hJeYKknZqQuu -EI/Z5+bIQKNd8XPznWGDCuuxmdtNsdneXbLrOInIu67gEVQnORGw2k5wwKA7lgYI -1+848FxDTlTU31kWLDE3VZJIHAGbv8UaLP+/49cgJ2G5QHF28Gm9Jd08AZkXGEp4 -wMx7FvRjgeq6Hb3kZ6hKQUbVUejQBXRy3+Gqb3fFQsfEYKItrHPNKFddmzdof1IN -i3pzjzwfAgMBAAECggEAUZrzHG4C/KHnvvKmBnF71O3NHp60+qM2uPLZj3imcn8w -C3kuoNxME5D0IswH8AZM8DjhXiCqYeyz2gCnaPdLxhzepWE5XwMWuIWWtnm5ICmM -JRL4FrTdYZ8yP85O/4ANazlc3yVSoiqqAb1oDI4P/V4HID8Bl1q59BGLmkEy4ihu -RD4oHP5Vq1QVeAaYSdG4jLDvsLXO3ikQMCo4dTZfbfOzWFnjLQRwDwQoYmn2YSWn -3Wt7sNbbCJd1OGnAVcdrZRrdM/672e2AbzenLWIKD8rlq5AMYri47j6UbbQjsMi4 -7xDiiSuj6nc5xkcqgc2wHO5jWLvwHA/0uFv9qFgWAQKBgQDpO2ly7wHtOgGmclVW -Fh3/X1MzrE2xeSMyxqHzdJIQUlVP7kN7GCHN/7huwCVEaAOGuT8gW6R1zA/6Xz22 -G2g6hXQZM3DSMMntZRQeBrVU3CRMAQWx5K7Kp46bBNjbV3TVdUVk2vZlaK3z7iWt -/z1N0xNvkFOJbxyGgZpArWPw7wKBgQDi5VMeT73J5i4ScPCNBhUwuzCy5QIOYkVn -gtwhxNrYzSlzmqTG98p0waAS17uZeHwJJ0Sy8M8D7Sj/p5i7C6m8eLN8Apbz7zzY -mOXt4+d8hbvD3SJCRkgHNEasAmqhxB44Kk9t1D2SsnAOR+Sprug+GC1Inzdxk222 -F2nN6q8H0QKBgQC1eDSj6LNnESsXhv4+7RaKDHGAUyBgZhCtAUAhXSII8QbQGmMG -88/ZqI6oHXjhsMyNlrU3SBa+UPhdpp0thEWkwxGCSjQOV0fGHk94zV9pl5/mQyVb -NMOLirO6ihrxDysoqwZDYts0LC6tDS7kIyRf2UvWEkXtOTbIsS6EBGUuoQKBgQC4 -iJR6QZZ0v11XKD2sJHdVg9jOlkx+0FPsJNTOLiFjVDDTUcGUBPHG1bdPu99aqVAP -zb0k348ufVLr4i3oakro+y3WvPBygm91JZ1TRhj+AHI+kPoM9sYb/dtAiFKbMDr3 -qQmipIxTZAaYxsXlb1h5MAacWsmn+KSxBQfLLoSeEQKBgQDhR3O7P5LED/07lP4X -eLAQR5TU+AjZBy74cKpvOQvo4VkhDQcLgf15yZOQEMqOTvuy46b1x6KNSRg4VlZH -cBBLH/NlivWLnsM7Te9j2Rg0ZTGUPtoCU5q3dDw6AYG2TtEkDis2LvYc05khuGuS -CdmyEemWogUiW2EYmFwJqV47Cg== ------END PRIVATE KEY----- diff --git a/integration-tests/grpc/src/main/resources/certs/client.pem b/integration-tests/grpc/src/main/resources/certs/client.pem deleted file mode 100644 index f92b3b59ee..0000000000 --- a/integration-tests/grpc/src/main/resources/certs/client.pem +++ /dev/null @@ -1,20 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDMzCCAhsCFFJOv4SHojw+aduKtxbjvmuqhXbsMA0GCSqGSIb3DQEBCwUAMFYx -CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl -cm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMMBnRlc3RjYTAeFw0yMDA2MDkx -MTU1MzNaFw0zNDAyMTYxMTU1MzNaMFYxCzAJBgNVBAYTAlhYMRUwEwYDVQQHDAxE -ZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBMdGQxEjAQBgNV -BAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM63 -YParnF10uT2HukWTapyDbJIWCrMjegZtbCdxagZjcuLNcDA8mv3pmFbChUO+HBY4 -2hKznd5ZMKuAufXa15pyCTRm5O4TNpOEB49wt+elP1BCJhePKOkCkkadg7LjyfeE -l5gqSdmpC64Qj9nn5shAo13xc/OdYYMK67GZ202x2d5dsus4ici7ruARVCc5EbDa -TnDAoDuWBgjX7zjwXENOVNTfWRYsMTdVkkgcAZu/xRos/7/j1yAnYblAcXbwab0l -3TwBmRcYSnjAzHsW9GOB6rodveRnqEpBRtVR6NAFdHLf4apvd8VCx8Rgoi2sc80o -V12bN2h/Ug2LenOPPB8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEASorfZ3g4jLJY -jYaGh2Lyg1dDiOGnCBgkJzO/lJ4t2qrXwf0OX3GepTHedO1Y4C00ca/XKGB8Qluh -ylhJYrfG1O+fwm+CYHrg+sz2yRtnlHAdySCqa3DkD5RHy9CNIe7s2RGNpcz0gvrr -byrqGB6u8AATvzVxO+Hx36Mttx89e1pcKoNmAJHAjueceJKmNgBFi+qZqEITrLeQ -Q6sj4YzYEe9eVtTDqiZS2Tl5D/l/3YwRiWWyB3AxOINVnRMHdKM5qrUuVtX0hhIb -YjMuUo/vOaimX9kqhphvDzE34hJCn2DQpEJUESUVBiXg8N6gUYjOH46Q8krAj48P -yDTqHnU4yw== ------END CERTIFICATE----- diff --git a/integration-tests/grpc/src/main/resources/certs/server.key b/integration-tests/grpc/src/main/resources/certs/server.key deleted file mode 100644 index 9f1c04abfe..0000000000 --- a/integration-tests/grpc/src/main/resources/certs/server.key +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUrRCRuN5YYTVG -XfYEb3JpSsi4ToEERMPsmfRxlljv0L8w6XbvWOk45kCLdk362SUNARdWv+mzgkuJ -W9eIYxSUQSspkNcnpyhV6078i7ZPY7BERlNny5SZ1eg0ptEoB4Xuw6o1Hko5sjco -xGGrxYPWaMmz0kLg6EmHgqsiCozXO1p/TpeltLUd0XFp/qE+NsxcjiuPosr0xioY -F6QLrTeK7b+bR0VbyWQ0RVTZDta+mN9rfLmyN832h5zDaF6VMsHUdpj7ik6ehBhs -DoLNMOR/zk1q34dx/AwQsrcBhlVFs/8NU3/QnYCgmGsZpld6+o6xZGpLqcxRTHM2 -aeKtwosdAgMBAAECggEAB8iTsH1ULp5QMrHimlLXU4nVvkhl2rpa430f3f54A34T -NFVUo60s8IylXmfAJ1zM4sRm22TKsFom6DcFrp85SZWr085AZVQL+YuLJA+QaNGY -PcrMvQdcbT1UncUJ+CWErn5R39wJGMIqvxig4GRDxarQvHhKhgnDJ7QAj5Sr0Oy3 -H57uTq718CitiF9BjSrRgLyg4ycmg+Li7hY+wyCJiLnyDdL7jdlGE5KGsTenrqEe -/NvhgLqNic5WAyfH6NNCfkN7mCMps9BkMjHS4WGNLj/MEdas8h1sWmSJUtBLNbIL -/S+5eUzClUI7KECm3s123dgWAdCXaEkQSZaKpRjyhQKBgQDEkCpGDZAcqMR7rJBz -LikBb5ppc79a33ees69VwKcfvbgrCfbVnDz8fMhC0w4ZOXd7tICZX3wGdzymHVs5 -qlBrD96wvWjbNusH11jsT5mHtEsOpzZ1CYCYt+HVkvN54RFRxJ2FjdeQJywnCWc+ -iy1yeEOma0T2wccjxN63zxDq5wKBgQDBofy0QzZhwaIPs6v3Q7vRE73XKpWj7+U0 -GJY0X9GXEratusv4AXH/V/Aa6+/PexJ+zRSSlgfwqEPjgsZBmT52lshEfmQq4bvV -hIRDNM+BOKyhzdOxRs3KD9oUSty5ElE43ntuW61APC3Id4a3rlcFcWPtvgbg/Fjf -UzBFPEo9WwKBgQCSipQpk9T7uMp7FWS/qgtCGcz5jyR7ABzzASzXdoBiBpP16kDO -ceN5rSGzyBs7rP8qB6DUNz6Ep4JcqYgoTpQTrUotY5h3zdKdDuwpiRKB/GT0sK7F -xGbN9FD2Y88G70d1OWridaPewYWGONly5FnmfEibGl/YwxDO1ufgCwymwwKBgEW+ -B5wR3WOGb83CBD1ySxK6TpVSREWg4WhLNsa0gHQujFe0wUSZmKrEzLmVo3GSvY2o -ZjGKEmAO6yzl7GyyOnpSQt3QvFlpptL4AP+H5PmBJUS+MvJWM0cFQKIweKG8RD78 -e267XIKXalIbIw3DoJpYRgrad/XPTl9ZwjgdyAujAoGAN+qEIOXVvq7Lnx050tZB -TBDponVg5eVGfdduSx5nHUZhVIPH5oz5r+srFURgGutk8CTvfa2Tz8nS/uux5Df0 -Dp04OEDbuOS1BWerMKfOgZa1VMLnCbupAEjr9i+Oc8gmPlxLvypOoTQcZz6qXSo3 -Dp2ABZftNsNA5q1z4f/JW1M= ------END PRIVATE KEY----- diff --git a/integration-tests/grpc/src/main/resources/certs/server.pem b/integration-tests/grpc/src/main/resources/certs/server.pem deleted file mode 100644 index c1a1c07d19..0000000000 --- a/integration-tests/grpc/src/main/resources/certs/server.pem +++ /dev/null @@ -1,20 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDMzCCAhsCFFJOv4SHojw+aduKtxbjvmuqhXbtMA0GCSqGSIb3DQEBCwUAMFYx -CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl -cm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMMBnRlc3RjYTAeFw0yMDA2MDkx -MTU2MDlaFw0zNDAyMTYxMTU2MDlaMFYxCzAJBgNVBAYTAlhYMRUwEwYDVQQHDAxE -ZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBMdGQxEjAQBgNV -BAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJSt -EJG43lhhNUZd9gRvcmlKyLhOgQREw+yZ9HGWWO/QvzDpdu9Y6TjmQIt2TfrZJQ0B -F1a/6bOCS4lb14hjFJRBKymQ1yenKFXrTvyLtk9jsERGU2fLlJnV6DSm0SgHhe7D -qjUeSjmyNyjEYavFg9ZoybPSQuDoSYeCqyIKjNc7Wn9Ol6W0tR3RcWn+oT42zFyO -K4+iyvTGKhgXpAutN4rtv5tHRVvJZDRFVNkO1r6Y32t8ubI3zfaHnMNoXpUywdR2 -mPuKTp6EGGwOgs0w5H/OTWrfh3H8DBCytwGGVUWz/w1Tf9CdgKCYaxmmV3r6jrFk -akupzFFMczZp4q3Cix0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAd4YnMK+556fT -hRXtAtCU48tWkWkSEg4jV4fmp9vlm+Lo+Qa8A6X2S1wGpZrMtJVHdbbw4oLVq9NC -AcFiVBXajMGFn181UnWqUTZCfzBNlYfJiZ0JF0ITzZEdoLv6nZlY9aQRCunEvx0J -Bp9NVD8sErlr/7oJ2ni+uRrjmAvSnvhMimh+0jt3Chpb0Hy3/YDBLA0nbUW4aI/T -6gPFuK+VTVtMyOt05a4ZbV/EsJIRjudiK3CcDsrmtsfPWPHDIQ7ZzJLzQgqC8HMp -h1+gZKv35lCTHZsyZubHS7CEr2I0pIEZcDh9eTVRaiFOuPNxXsDxm5bZnDRllxvF -m/4+pqqpfQ== ------END CERTIFICATE----- diff --git a/integration-tests/grpc/src/test/java/org/apache/camel/quarkus/component/grpc/it/GrpcTest.java b/integration-tests/grpc/src/test/java/org/apache/camel/quarkus/component/grpc/it/GrpcTest.java index fdae550b34..fd7f1a2fb6 100644 --- a/integration-tests/grpc/src/test/java/org/apache/camel/quarkus/component/grpc/it/GrpcTest.java +++ b/integration-tests/grpc/src/test/java/org/apache/camel/quarkus/component/grpc/it/GrpcTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.quarkus.component.grpc.it; +import java.io.FileInputStream; import java.util.Iterator; import java.util.List; import java.util.concurrent.CountDownLatch; @@ -32,6 +33,8 @@ import io.quarkus.test.common.QuarkusTestResource; import io.quarkus.test.junit.QuarkusTest; import io.restassured.RestAssured; import io.restassured.path.json.JsonPath; +import me.escoffier.certs.Format; +import me.escoffier.certs.junit5.Certificate; import org.apache.camel.component.grpc.auth.jwt.JwtAlgorithm; import org.apache.camel.component.grpc.auth.jwt.JwtCallCredentials; import org.apache.camel.component.grpc.auth.jwt.JwtHelper; @@ -40,6 +43,7 @@ import org.apache.camel.quarkus.component.grpc.it.model.PingPongGrpc.PingPongBlo import org.apache.camel.quarkus.component.grpc.it.model.PingPongGrpc.PingPongStub; import org.apache.camel.quarkus.component.grpc.it.model.PingRequest; import org.apache.camel.quarkus.component.grpc.it.model.PongResponse; +import org.apache.camel.quarkus.test.support.certificate.TestCertificates; import org.apache.camel.util.StringHelper; import org.awaitility.Awaitility; import org.eclipse.microprofile.config.Config; @@ -66,6 +70,9 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; +@TestCertificates(certificates = { + @Certificate(name = "grpc", formats = { Format.PEM }) +}, baseDir = "target/certs") @QuarkusTest @QuarkusTestResource(GrpcServerTestResource.class) class GrpcTest { @@ -256,15 +263,13 @@ class GrpcTest { Config config = ConfigProvider.getConfig(); Integer port = config.getValue("camel.grpc.test.tls.server.port", Integer.class); - ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); - ManagedChannel channel = null; try { channel = NettyChannelBuilder.forAddress("localhost", port) .sslContext(GrpcSslContexts.forClient() - .keyManager(classLoader.getResourceAsStream("certs/client.pem"), - classLoader.getResourceAsStream("certs/client.key")) - .trustManager(classLoader.getResourceAsStream("certs/ca.pem")) + .keyManager(new FileInputStream("target/certs/grpc.crt"), + new FileInputStream("target/certs/grpc.key")) + .trustManager(new FileInputStream("target/certs/grpc-ca.crt")) .build()) .build();