Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid ClassNotFoundException #61

Merged
merged 4 commits into from
Apr 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion api/src/main/java/com/redhat/insights/tls/PEMSupport.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public SSLContext createTLSContext(Path certificatePath, Path keyPath) {
byte[] certBytes = Files.readAllBytes(certificatePath);
byte[] keyBytes = Files.readAllBytes(keyPath);
return createTLSContext(certBytes, keyBytes);
} catch (IOException err) {
} catch (Exception err) {
throw new InsightsException(ERROR_SSL_CREATING_CONTEXT, "SSLContext creation error", err);
}
}
Expand Down
16 changes: 16 additions & 0 deletions api/src/test/java/com/redhat/insights/tls/PEMSupportTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import com.redhat.insights.InsightsException;
import com.redhat.insights.doubles.DefaultConfiguration;
import com.redhat.insights.logging.PrintLogger;
import com.redhat.insights.logging.TestLogger;
import java.io.IOException;
import java.nio.file.*;
Expand Down Expand Up @@ -83,6 +84,21 @@ public void testNoErrorForNonReadableCert() throws IOException {
Assertions.assertTrue(exception.getCause() instanceof AccessDeniedException);
}

@Test
public void malformedCertificates() {
InsightsException err =
assertThrows(
InsightsException.class,
() ->
new PEMSupport(PrintLogger.STDOUT_LOGGER, new DefaultConfiguration())
.createTLSContext(
getPathFromResource("com/redhat/insights/tls/malformed/cert.pem"),
getPathFromResource("com/redhat/insights/tls/malformed/key.pem")));
assertEquals("I4ASR0015: SSLContext creation error", err.getMessage());
assertInstanceOf(IllegalArgumentException.class, err.getCause());
assertEquals("ELY03012: Certificate parse error", err.getCause().getMessage());
}

private Path createNonReadableFile() throws IOException {
Path nonReadableCert = Files.createTempFile(null, null);
Assertions.assertTrue(nonReadableCert.toFile().setReadable(false));
Expand Down
20 changes: 20 additions & 0 deletions api/src/test/resources/com/redhat/insights/tls/malformed/cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDgTCCAmmgAwIBAgIUeDgSYwAKIopZ38v0pw92H4+7AQ0wDQYJKoZIhvcNAQEL
BQAwUDELMAkGA1UEBhMCQ1oxDTALBgNVBAcMBEJybm8xDzANBgNVBAoMBlJlZEhh
dDEhMB8GA1UEAwwYSW5zaWdodHMtdGVzdC1zZWxmc2lnbmVkMB4XDTIzMDQwMzA5
NDA0NFoXDTMzMDMzMTA5NDA0NFowUDELMAkGA1UEBhMCQ1oxDTALBgNVBAcMBEJy
bm8xDzANBgNVBAoMBlJlZEhhdDEhMB8GA1UEAwwYSW5zaWdodHMtdGVzdC1zZWxm
c2lnbmVkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtGTAiDvRYq+3
p78BOe9a3Sriiih+XC3POK6tW3iSW0fekrpXqgzSBvHpVKZfOpD9RDXW0+2OUfJ0
FUIeHy3eJpzHNNlnmioT4LHsOfaLqtdK7LD5m8mhpGvF7f3htTJyXA7HLQ8MwECH
rHV9qacpu5fvGLTh2AUKDn1hQujn0/6PEDdelsjb+ukbMoToHWuAinA2XZjrId6/
LGOrm1xLo6MyIV6Tt8Ye/pcoNdae0p5wMAXWeQpenUxzjhSQPtu53TbfguBwaiIs
bjP8rnnEQ/OAEtj/0SlYDjORi9zsQ10ob2qgDY+qqEaorS4J5GMIp+tQLYwFvn2Q
2GlUeXkiSwIDAQABo1MwUTAdBgNVHQ4EFgQUqfnnFQLonT10omTBoYkaufrgvRUw
HwYDVR0jBBgwFoAUqfnnFQLonT10omTBoYkaufrgvRUwDwYDVR0TAQH/BAUwAwEB
/zANBgkqhkiG9w0BAQsFAAOCAQEAU+gpuZvid8JjGnY3EuN5LXEH/9sDmtItyHbO
Gjvi96136Sp4oxS4DUQmN0Je/OYGDsotq1/4R72oAIl3woiFfooOKG6K68y2yPl5
ldhIPobqJcZMjBGkuvEFmghbiMt3C+zAfetEVI2M+oKUZpDOfGr4+iSF443jXsra
Fslo1VpoGmXZUElM2Lv423AvcGjLTrDQy3S4b3t3vZg8Akq82NLTEpDtS97YXSfU
TvQhY3sR0lFr+SpwxVgcMG1AVy54kMXbtvJWpfOEyRZTDTc1Qw==
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions api/src/test/resources/com/redhat/insights/tls/malformed/key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC0ZMCIO9Fir7en
vwE571rdKuKKKH5cLc84rq1beJJbR96SuleqDNIG8elUpl86kP1ENdbT7Y5R8nQV
Qh4fLd4mnMc02WeaKhPgsew59ouq10rssPmbyaGka8Xt/eG1MnJcDsctDwzAQIes
dX2ppym7l+8YtOHYBQoOfWFC6OfT/o8QN16WyNv66RsyhOgda4CKcDZdmOsh3r8s
Y6ubXEujozIhXpO3xh7+lyg11p7SnnAwBdZ5Cl6dTHOOFJA+27ndNt+C4HBqIixu
M/yuecRD84AS2P/RKVgOM5GL3OxDXShvaqANj6qoRqitLgnkYwin61AtjAW+fZDY
aVR5eSJLAgMBAAECggEAAp5KnFpE9v9yHmd5Oy2pQhBcJNa+lB1FV2I60e1BhNuQ
eoPG2A8eb5SDTt87VCQBRgc6aCqX3v97nlTlcR/vySUFydmijEegEjxeUECu5w0L
+byon8hXuEiQjuWrhHAOP7xjXczS4izQpr8GNEp5OuG60Dj9m+h/9aFPTQs5tsRF
QV1G9rTNpwaNjJEssDiI6CBRhaskXKatFT17R77vTefSqe5RzxW3cslm8uIa/XSA
+xSfScc339CvKZbSVYQb1Nyw2/oKmBF0/EtmjAP0r6yVtnHLOGbG99IZbLPHqAkR
Z9ByM87lAwRWrknODSR1wUNc79NA0FtrzmuxJpY5gQKBgQDPp93WKRxZKS3B/Ihj
pGAt3E2Pm0SaGYJxOhMFsizEx1v9eZF1BT0xKaRKxj9GMCa2rpyVkQz9yqk6CMAm
WpxAjg58C2eU2jodS6EMs60ASbW45s6fyrw5BEOlBVrv+0T81alNoTcCq45+hjmG
aIFE1mR/YqNAOMDLm2mdySSq+QKBgQDeZBRyVtKas7BGbf/5E3k7VQVL2a39iDWY
wnbaBWYEYPkITbn3g7T/o02+9gXSwVxcoQSn9lW364C+mVoFlZ8s35Mc9Mt3PU96
QvhJIHhNglt+y7L8zqD2aC0aRAFGGL0m9GZam58tKavQqQdWc7jL0BkWeG37Zo7z
L3+SmkAkYwKBgQC8y/HMYepNQjxBD9ntRijP6Wl3NIMF3EWVrmhXGGzNqDgB2EKg
c1f0V9jwxxgGN4crNsxUy+FU6ao8gnI5LM69fqq6qx/M3TBTLEzLoJydE2cuKmMY
Mxo4eKEL6zeH0xshCR154CaEvfe7H0wz4NYPASG0E7k7jZ30QGOhOpyk+QKBgQDQ
fCRK+KghjbkAndjtqVrqy47Wh/C8EPimCBCh3ZPBISP1q+BecSO60F5vWnclGE69
K9qQl7fOX0Jn7J3fRGBgEgz5hWhFlb2vkZ7v9zew+jdKTC61IAT4W7uEtyI2k7So
E1DtOp1kGn/PctbFLmGc+K68SRRaLdBvnSTMzDy7nwKBgAe9Ih3BRaRozKCwycJL
SrAx3Iq1jH+/N4lPvBx/PpW8/w6qqi06hc+SyxPKP8ZXAp3XY2larKYA5aMh1Tg/
Stq7FrgNj8jNbjwVxa67BpA7E31p8GMiXy2QYG0/f3UUwbXaY7MywIufbbjZtkjG
ZXBjQQa17OK2u4/ZypRVm0oV
-----END PRIVATE KEY-----
6 changes: 0 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,6 @@
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-x500-cert</artifactId>
<version>${wildfly-elytron.version}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- Test dependencies -->
Expand Down