Skip to content
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
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import org.bouncycastle.openssl.PEMDecryptorProvider;
import org.bouncycastle.openssl.jcajce.JcePEMDecryptorProviderBuilder;

import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* <strong>NOTE:</strong>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import org.bouncycastle.operator.InputDecryptorProvider;
import org.bouncycastle.operator.OperatorCreationException;

import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* <strong>NOTE:</strong>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import java.util.regex.Pattern;
import java.util.stream.Stream;

import static nl.altindag.ssl.util.internal.CollectorsUtils.toModifiableList;
import static nl.altindag.laleler.CollectorsUtils.toModifiableList;

final class PemFormatter {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

import java.util.List;

import static nl.altindag.ssl.util.internal.CollectionUtils.toUnmodifiableList;
import static nl.altindag.laleler.CollectionUtils.toUnmodifiableList;

enum PemType {

Expand Down
28 changes: 14 additions & 14 deletions ayza-for-pem/src/main/java/nl/altindag/ssl/pem/util/PemUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package nl.altindag.ssl.pem.util;

import nl.altindag.laleler.IOUtils;
import nl.altindag.laleler.ValidationUtils;
import nl.altindag.ssl.SSLFactory;
import nl.altindag.ssl.exception.GenericIOException;
import nl.altindag.ssl.pem.decryptor.PemDecryptor;
Expand All @@ -25,8 +27,6 @@
import nl.altindag.ssl.pem.exception.PublicKeyParseException;
import nl.altindag.ssl.util.KeyManagerUtils;
import nl.altindag.ssl.util.TrustManagerUtils;
import nl.altindag.ssl.util.internal.IOUtils;
import nl.altindag.ssl.util.internal.ValidationUtils;
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
import org.bouncycastle.cert.X509CertificateHolder;
import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
Expand Down Expand Up @@ -71,10 +71,10 @@

import static nl.altindag.ssl.pem.util.PemType.CERTIFICATE;
import static nl.altindag.ssl.pem.util.PemType.KEY;
import static nl.altindag.ssl.util.internal.CollectorsUtils.toListAndThen;
import static nl.altindag.ssl.util.internal.CollectorsUtils.toUnmodifiableList;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotEmpty;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.CollectorsUtils.toListAndThen;
import static nl.altindag.laleler.CollectorsUtils.toUnmodifiableList;
import static nl.altindag.laleler.ValidationUtils.requireNotEmpty;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* Reads PEM formatted private keys and certificates
Expand Down Expand Up @@ -160,7 +160,7 @@ public static List<X509Certificate> loadCertificate(String... certificatePaths)
* Loads certificates from the filesystem and maps it to a list of {@link X509Certificate}
*/
public static List<X509Certificate> loadCertificate(Path... certificatePaths) {
return loadCertificate(certificatePaths, IOUtils::getFileAsStream);
return loadCertificate(certificatePaths, path -> IOUtils.getFileAsStream(path, GenericIOException::new));
}

/**
Expand All @@ -176,7 +176,7 @@ public static List<X509Certificate> loadCertificate(InputStream... certificateSt
private static <T> List<X509Certificate> loadCertificate(T[] resources, Function<T, InputStream> resourceMapper) {
return Arrays.stream(resources)
.map(resourceMapper)
.map(IOUtils::getContent)
.map(inputStream -> IOUtils.getContent(inputStream, GenericIOException::new))
.map(PemUtils::parseCertificate)
.flatMap(Collection::stream)
.collect(toUnmodifiableList());
Expand Down Expand Up @@ -297,7 +297,7 @@ public static X509ExtendedKeyManager loadIdentityMaterial(Path certificateChainP
* from the filesystem and maps it to an instance of {@link X509ExtendedKeyManager}
*/
public static X509ExtendedKeyManager loadIdentityMaterial(Path certificateChainPath, Path privateKeyPath, char[] keyPassword) {
return loadIdentityMaterial(certificateChainPath, privateKeyPath, keyPassword, IOUtils::getFileAsStream);
return loadIdentityMaterial(certificateChainPath, privateKeyPath, keyPassword, path -> IOUtils.getFileAsStream(path, GenericIOException::new));
}

/**
Expand Down Expand Up @@ -336,7 +336,7 @@ public static X509ExtendedKeyManager loadIdentityMaterial(Path identityPath) {
* from the filesystem and maps it to an instance of {@link X509ExtendedKeyManager}
*/
public static X509ExtendedKeyManager loadIdentityMaterial(Path identityPath, char[] keyPassword) {
return loadIdentityMaterial(identityPath, keyPassword, IOUtils::getFileAsStream);
return loadIdentityMaterial(identityPath, keyPassword, path -> IOUtils.getFileAsStream(path, GenericIOException::new));
}

/**
Expand All @@ -363,8 +363,8 @@ private static <T> X509ExtendedKeyManager loadIdentityMaterial(T certificateChai
try(InputStream certificateChainStream = resourceMapper.apply(certificateChain);
InputStream privateKeyStream = resourceMapper.apply(privateKey)) {

String certificateChainContent = IOUtils.getContent(certificateChainStream);
String privateKeyContent = IOUtils.getContent(privateKeyStream);
String certificateChainContent = IOUtils.getContent(certificateChainStream, GenericIOException::new);
String privateKeyContent = IOUtils.getContent(privateKeyStream, GenericIOException::new);

return parseIdentityMaterial(certificateChainContent, privateKeyContent, keyPassword);
} catch (IOException exception) {
Expand All @@ -374,7 +374,7 @@ private static <T> X509ExtendedKeyManager loadIdentityMaterial(T certificateChai

private static <T> X509ExtendedKeyManager loadIdentityMaterial(T identity, char[] keyPassword, Function<T, InputStream> resourceMapper) {
try(InputStream identityStream = resourceMapper.apply(identity)) {
String identityContent = IOUtils.getContent(identityStream);
String identityContent = IOUtils.getContent(identityStream, GenericIOException::new);
return parseIdentityMaterial(identityContent, identityContent, keyPassword);
} catch (IOException exception) {
throw new GenericIOException(exception);
Expand Down Expand Up @@ -441,7 +441,7 @@ public static PrivateKey loadPrivateKey(Path identityPath) {
* Loads the private key from the filesystem and maps it to an instance of {@link PrivateKey}
*/
public static PrivateKey loadPrivateKey(Path identityPath, char[] keyPassword) {
return loadPrivateKey(identityPath, keyPassword, IOUtils::getFileAsStream);
return loadPrivateKey(identityPath, keyPassword, path -> IOUtils.getFileAsStream(path, GenericIOException::new));
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
*/
package nl.altindag.ssl.pem.util;

import nl.altindag.laleler.IOUtils;
import nl.altindag.ssl.exception.GenericIOException;
import nl.altindag.ssl.exception.GenericKeyStoreException;
import nl.altindag.ssl.pem.exception.CertificateParseException;
import nl.altindag.ssl.pem.exception.PemParseException;
import nl.altindag.ssl.pem.exception.PrivateKeyParseException;
import nl.altindag.ssl.pem.exception.PublicKeyParseException;
import nl.altindag.ssl.util.KeyStoreUtils;
import nl.altindag.ssl.util.internal.IOUtils;
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
import org.bouncycastle.cert.X509CertificateHolder;
import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
Expand Down Expand Up @@ -55,12 +55,14 @@
import java.security.cert.X509Certificate;
import java.util.List;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mockStatic;
Expand Down Expand Up @@ -684,7 +686,7 @@ void throwGenericIOExceptionWhenInputStreamCanNotBeClosedWhenLoadingIdentity() t
String identityContent = getResourceContent(PEM_LOCATION + "encrypted-identity.pem");

try (MockedStatic<IOUtils> ioUtilsMockedStatic = mockStatic(IOUtils.class)) {
ioUtilsMockedStatic.when(() -> IOUtils.getContent(identityStream)).thenReturn(identityContent);
ioUtilsMockedStatic.when(() -> IOUtils.getContent(eq(identityStream), any(Function.class))).thenReturn(identityContent);

doThrow(new IOException("KABOOM!!!"))
.when(identityStream)
Expand Down Expand Up @@ -722,8 +724,8 @@ void throwGenericIOExceptionWhenInputStreamCanNotBeClosedWhenCertificateChainAnd
String privateKeyContent = getResourceContent(PEM_LOCATION + "splitted-unencrypted-identity-containing-private-key.pem");

try (MockedStatic<IOUtils> ioUtilsMockedStatic = mockStatic(IOUtils.class)) {
ioUtilsMockedStatic.when(() -> IOUtils.getContent(certificateChainStream)).thenReturn(certificateChainContent);
ioUtilsMockedStatic.when(() -> IOUtils.getContent(privateKeyStream)).thenReturn(privateKeyContent);
ioUtilsMockedStatic.when(() -> IOUtils.getContent(eq(certificateChainStream), any(Function.class))).thenReturn(certificateChainContent);
ioUtilsMockedStatic.when(() -> IOUtils.getContent(eq(privateKeyStream), any(Function.class))).thenReturn(privateKeyContent);

doThrow(new IOException("KABOOM!!!"))
.when(certificateChainStream)
Expand Down
4 changes: 4 additions & 0 deletions ayza/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@
<groupId>io.github.hakky54</groupId>
<artifactId>sude</artifactId>
</dependency>
<dependency>
<groupId>io.github.hakky54</groupId>
<artifactId>laleler</artifactId>
</dependency>

<dependency>
<groupId>org.junit.jupiter</groupId>
Expand Down
2 changes: 1 addition & 1 deletion ayza/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@
module nl.altindag.ssl {

requires transitive nl.altindag.sude;
requires transitive nl.altindag.laleler;

exports nl.altindag.ssl;
exports nl.altindag.ssl.exception;
exports nl.altindag.ssl.model;
exports nl.altindag.ssl.trustmanager.trustoptions;
exports nl.altindag.ssl.util;
exports nl.altindag.ssl.sslcontext to java.base;
exports nl.altindag.ssl.util.internal to nl.altindag.ssl.pem;

}
10 changes: 5 additions & 5 deletions ayza/src/main/java/nl/altindag/ssl/SSLFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package nl.altindag.ssl;

import nl.altindag.laleler.StringUtils;
import nl.altindag.laleler.UriUtils;
import nl.altindag.ssl.exception.GenericKeyStoreException;
import nl.altindag.ssl.exception.GenericSecurityException;
import nl.altindag.ssl.model.HostnameVerifierParameters;
Expand All @@ -33,8 +35,6 @@
import nl.altindag.ssl.util.SSLParametersUtils;
import nl.altindag.ssl.util.SSLSessionUtils;
import nl.altindag.ssl.util.TrustManagerUtils;
import nl.altindag.ssl.util.internal.StringUtils;
import nl.altindag.ssl.util.internal.UriUtils;
import nl.altindag.sude.Logger;
import nl.altindag.sude.LoggerFactory;

Expand Down Expand Up @@ -77,9 +77,9 @@

import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
import static nl.altindag.ssl.util.internal.CollectorsUtils.toStringArray;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotBlank;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotEmpty;
import static nl.altindag.laleler.CollectorsUtils.toStringArray;
import static nl.altindag.laleler.ValidationUtils.requireNotBlank;
import static nl.altindag.laleler.ValidationUtils.requireNotEmpty;

/**
* @author Hakan Altindag
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/
package nl.altindag.ssl.hostnameverifier;

import nl.altindag.ssl.util.internal.StringUtils;
import nl.altindag.laleler.StringUtils;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLPeerUnverifiedException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package nl.altindag.ssl.keymanager;

import nl.altindag.ssl.util.internal.HostUtils;
import nl.altindag.laleler.HostUtils;

import javax.net.ssl.SSLEngine;
import javax.net.ssl.SSLSocket;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import java.security.PrivateKey;
import java.security.cert.X509Certificate;

import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* <strong>NOTE:</strong>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.function.Supplier;

import static nl.altindag.ssl.util.internal.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* <strong>NOTE:</strong>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import javax.net.ssl.ManagerFactoryParameters;
import java.security.KeyStore;

import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* <strong>NOTE:</strong>
Expand Down
4 changes: 2 additions & 2 deletions ayza/src/main/java/nl/altindag/ssl/model/ClientConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@
*/
package nl.altindag.ssl.model;

import nl.altindag.laleler.ValidationUtils;
import nl.altindag.ssl.SSLFactory;
import nl.altindag.ssl.util.internal.ValidationUtils;

import java.net.PasswordAuthentication;
import java.net.Proxy;
import java.time.Duration;
import java.util.Optional;

import static nl.altindag.ssl.util.internal.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.laleler.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;

public final class ClientConfig {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import javax.net.ssl.X509ExtendedTrustManager;
import java.util.List;

import static nl.altindag.ssl.util.internal.CollectionUtils.toUnmodifiableList;
import static nl.altindag.laleler.CollectionUtils.toUnmodifiableList;

/**
* <p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
import java.net.InetAddress;
import java.net.ServerSocket;

import static nl.altindag.ssl.util.internal.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* <strong>NOTE:</strong>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
import java.net.Socket;
import java.net.UnknownHostException;

import static nl.altindag.ssl.util.internal.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* <strong>NOTE:</strong>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
import java.util.Optional;

import static java.util.Objects.nonNull;
import static nl.altindag.ssl.util.internal.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.laleler.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;

/**
* @author Hakan Altindag
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.function.Supplier;

import static nl.altindag.ssl.util.internal.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

public final class HotSwappableSSLParameters extends DelegatingSSLParameters {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
import java.security.cert.X509Certificate;
import java.util.Arrays;

import static nl.altindag.ssl.util.internal.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* <strong>NOTE:</strong>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.function.Supplier;

import static nl.altindag.ssl.util.internal.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.ssl.util.internal.ValidationUtils.requireNotNull;
import static nl.altindag.laleler.ValidationUtils.GENERIC_EXCEPTION_MESSAGE;
import static nl.altindag.laleler.ValidationUtils.requireNotNull;

/**
* <strong>NOTE:</strong>
Expand Down
Loading
Loading