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
10 changes: 8 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,15 @@
# Shell scripts
*.sh text eol=lf

# Git lfs
*.crt filter=lfs diff=lfs merge=lfs -text
# Treat all SSL-related files as binary
*.crt binary
*.key binary
*.pem binary
*.pfx binary

# Git LFS
*.ico filter=lfs diff=lfs merge=lfs -text
*.pfx filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.snk filter=lfs diff=lfs merge=lfs -text

Expand Down
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,6 @@ ClientBin/
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

Expand Down Expand Up @@ -402,4 +401,4 @@ FodyWeavers.xsd

# JetBrains Rider
.idea/
*.sln.iml
*.sln.iml
4 changes: 2 additions & 2 deletions docs/api/create_docker_container.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ To configure an ASP.NET Core application, either one or both mechanisms can be u
```csharp
_ = new ContainerBuilder()
.WithEnvironment("ASPNETCORE_URLS", "https://+")
.WithEnvironment("ASPNETCORE_Kestrel__Certificates__Default__Path", "/app/certificate.crt")
.WithEnvironment("ASPNETCORE_Kestrel__Certificates__Default__Path", "/app/certificate.pfx")
.WithEnvironment("ASPNETCORE_Kestrel__Certificates__Default__Password", "password")
.WithResourceMapping("certificate.crt", "/app/");
.WithResourceMapping("certificate.pfx", "/app/");
```

`WithBindMount(string, string)` is another option to provide access to directories or files. It mounts a host directory or file into the container. Note, this does not follow our best practices. Host paths differ between environments and may not be available on every system or Docker setup, e.g. CI.
Expand Down
2 changes: 1 addition & 1 deletion examples/WeatherForecast/.gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
* text=auto
*.crt filter=lfs diff=lfs merge=lfs -text
*.pfx filter=lfs diff=lfs merge=lfs -text
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<InternalsVisibleTo Include="WeatherForecast.InProcess.Test"/>
</ItemGroup>
<ItemGroup>
<None Update="certificate.crt" Visible="false">
<None Update="certificate.pfx" Visible="false">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ public sealed class WeatherForecastImage : IImage, IAsyncLifetime
{
public const ushort HttpsPort = 443;

public const string CertificateFilePath = "certificate.crt";
public const string CertificateFilePath = "certificate.pfx";

public const string CertificatePassword = "password";

Expand Down
58 changes: 58 additions & 0 deletions tests/Testcontainers.Commons/Certificates.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
namespace DotNet.Testcontainers.Commons;

[PublicAPI]
public sealed class Certificates
{
public const string Password = "password";

private readonly string _baseDirectory = AppContext.BaseDirectory;

private Certificates()
{
if (!Directory.Exists(CaDirectory))
{
throw new DirectoryNotFoundException($"CA directory not found: '{CaDirectory}'.");
}

if (!Directory.Exists(ClientDirectory))
{
throw new DirectoryNotFoundException($"Client directory not found: '{ClientDirectory}'.");
}

if (!Directory.Exists(ServerDirectory))
{
throw new DirectoryNotFoundException($"Server directory not found: '{ServerDirectory}'.");
}
}

public static Certificates Instance { get; } = new Certificates();

public string CaDirectory => Path.Combine(_baseDirectory, "ssl", "ca");

public string ClientDirectory => Path.Combine(_baseDirectory, "ssl", "client");

public string ServerDirectory => Path.Combine(_baseDirectory, "ssl", "server");

public string GetFilePath(string directoryName, string fileName)
{
string directoryPath;

switch (directoryName.ToLowerInvariant())
{
case "ca":
directoryPath = CaDirectory;
break;
case "client":
directoryPath = ClientDirectory;
break;
case "server":
directoryPath = ServerDirectory;
break;
default:
throw new ArgumentException($"Unknown directory: '{directoryName}'.");
}

var filePath = Path.Combine(directoryPath, fileName);
return File.Exists(filePath) ? filePath : throw new FileNotFoundException($"File not found: '{filePath}'.");
}
}
5 changes: 5 additions & 0 deletions tests/Testcontainers.Commons/Testcontainers.Commons.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,9 @@
<ItemGroup>
<ProjectReference Include="../../src/Testcontainers/Testcontainers.csproj"/>
</ItemGroup>
<ItemGroup>
<None Include="ssl/**/*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
19 changes: 19 additions & 0 deletions tests/Testcontainers.Commons/ssl/ca/ca.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDBTCCAe2gAwIBAgIUK6Qz/lUVJw2bY/hrEkOnppUtjsEwDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAwwHVGVzdCBDQTAeFw0yNTEwMDQxMDU3MzBaFw0zNTEwMDIx
MDU3MzBaMBIxEDAOBgNVBAMMB1Rlc3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQDKumdGldDfxucTyFpYHNhIEPcvEqJfKDub/v1STXmGs2YlFTO1
6gL6WqxbDCM2wYJorrkyq0wI8X8bbpPOQld41ci+6Dg0nECbpYzUNm96F1DK9Mrp
BW9y76COTCBiyrRtZSdjCw17/Il+FPzxRBd5uzCvM01t6jFt2Xsp3ItoE5axmL7w
DgaBuQXJaH8u041JbH4oxN+I0AwJgauN0FGoZg39yizbUKwSccQ/YZlSqkyo1SRS
LolcjZaYbbuCAKRQVmjCryPgV9zYyo1627iXwwrfpGkXYWeL5prNWp3qyXGi+L9P
C3DWGFyaJem2y+WThKbn6Be08Fg388u0Pe05AgMBAAGjUzBRMB0GA1UdDgQWBBQi
17s/+vlfOzA/eDFEfeofGBVgdjAfBgNVHSMEGDAWgBQi17s/+vlfOzA/eDFEfeof
GBVgdjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAeADxD6gy5
T5J+uFlxC+BeEp4fcCEY4NhMx5jFwBy0SJA08Tdc6swrx94p97a23/Fhu1yrMje4
4+eWR3y4Nkq+Ys446Gt1Lc1vP+gHnR++mXA8NQ/FPMk9E4XEVPU6DapuqKdwwdGs
wfWmvdQOUDJFr1zB9pGvpJkGKZQb4qO/TnxNCPlHcg0pAZzhh7fB/JUDYr7KqYzc
dcdmYMCXZdg6XvsOqantLzFfgmSJFgFUnvRPDabDsTFshj4e86en1vx6kMirGEeT
UK9g39n1aY4l4iSPGs6V8+88m6rrtp076fFm9ZpHXKbUpzdnJWbtMeBIaLO6I7hB
CHzB+nKUkXD9
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions tests/Testcontainers.Commons/ssl/ca/ca.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDKumdGldDfxucT
yFpYHNhIEPcvEqJfKDub/v1STXmGs2YlFTO16gL6WqxbDCM2wYJorrkyq0wI8X8b
bpPOQld41ci+6Dg0nECbpYzUNm96F1DK9MrpBW9y76COTCBiyrRtZSdjCw17/Il+
FPzxRBd5uzCvM01t6jFt2Xsp3ItoE5axmL7wDgaBuQXJaH8u041JbH4oxN+I0AwJ
gauN0FGoZg39yizbUKwSccQ/YZlSqkyo1SRSLolcjZaYbbuCAKRQVmjCryPgV9zY
yo1627iXwwrfpGkXYWeL5prNWp3qyXGi+L9PC3DWGFyaJem2y+WThKbn6Be08Fg3
88u0Pe05AgMBAAECggEAEGN1Sd1+nziDIbRGqWzbhyfn86Q8ABlOiFPawraEpoEG
NuU54vDiAL8nw8x9ZEXMdw345sG2SdrL/bm4tSnjzF7r9ZLsSESBbJO7iMRFysbr
vxx+8st/sPjyL86zp4jfgSB2SKlyE53ct5aWxCJPC4Y4b1FkZwhRqqG0NTQhCO63
nNCnb7BVj8mHKpC0zlGjAlh70dGYkq7hAk0rVgvRzSE/3crYvHe+o+9bCYQA4std
r8IcZGt8mT/F9KHlaEYKJsoxeCzngFHGP4LlgwnV30s7U2xo8HNrbrlhJYbP5tW9
frWs8raHcSMvQd2i7gc+5HvEtiT+pYXVMnvWvsTYIQKBgQDqZnB7k7V1dLTwkJru
66K/te+DMrzbw54ysRcCFTB5jaZtCIG0Q5B/1IUlgeO+ULF7VH4zhxCWP48WLZun
LnYRco6zUtAhpdbCQqglhb7PKEh0flOwB9nX7uh90UFu6n9+EWd7BlicgGNnVikx
w3QUV9pe5LSPBynv8D44kcABBQKBgQDdaNAddhA4Is3SV6MrOU/bZYMPh+PBditj
lJ1qZyxdzwdJpEOdDyy+LyN2+p1XP53CZH0Cc/QOIxCD4HBfy04nK0TYZyfLX9eq
hK8QmQvb8qm3yTdiuCY/+YjlFToRo7mOExr+4KRsLDfKNbzlxjQc0Z5u9nWAPwCM
y3n8Jz9BpQKBgDcOAoN0CR3iYJFUVZ+iZuKCeBQnuaYghyq+33mUwoL6W0mmwtg1
Ol5b6z4JCRXtXBJsoQu3QJUZrqD162ZUClVEw/GolMwiaJPOFjJh/JQpkQMTnNJu
taL7MU5D9Qt5NqLEsbp6nht8KFzgJuLSVpRkohzBuQsTEq2Rjvu4eBGFAoGBAL3S
TZLklLU8CY/LeOXm5fMoTbvz+izz3fErCeaee+gVRZ86SImP6AFJsrMf2+NgdCWk
N5TxyoyQPWmC83T9fYyRSR3rGq//BIx54wls3UD+A8nApk5pqMlya45Tq4xR/RS0
hpF8ERt4sYAYoFGyox0ODjH99PE1kogjLvsivtXNAoGBALZcf+lbdvEgDkQhwzT4
s+VZfUszifYx0Jvm/Fyv1fZ4stX42XTuO9+SsE3znI9InQgFuirOEzn0ApMy2rX3
zwIa37YAN06t4iTwK00YNQfam97Ah1CYRzhC5WZja2gsI4e2wSRCNGGyYj/50vte
HwSt7yo/OnZeIB4+RG7CY/yi
-----END PRIVATE KEY-----
18 changes: 18 additions & 0 deletions tests/Testcontainers.Commons/ssl/client/client.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC8zCCAdugAwIBAgIUY4p69ZHGaJX6NqCS/XBdoJ5N+3gwDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAwwHVGVzdCBDQTAeFw0yNTEwMDQxMDU3MzBaFw0yNjEwMDQx
MDU3MzBaMBExDzANBgNVBAMMBkNsaWVudDCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAMxKsubTLO6Tr+NSsILtlvcQI2e9wvB4KMLsYbrvmcMhPHE9zmxS
cBa4JoW78GZtD2u7lLq2AdcK0lxLgI2NCIxkUA7HPqaLrruzw/wJ18kwOwLEMDoc
9NAg+KIkRWZTO8C6SMdtJDE12e0pYb3oYOhIqnDFkyFcwUB4/mRU+bZuDLLfaRmb
vC3Vg2B1BKWxA37A4FDUJBi73JrXwxF+fyckVERNJZZMAOCdbhfaIY95zHDHTEj+
KLzOEwI5Mc4F4maMRd/jwuDEBxtn+95Oo60+AbeHmuI4CrN8rG3BIBkzLCCctgWB
vMq82uQCyBSDh1PaPAi2a8mkwOVrf5d3CnUCAwEAAaNCMEAwHQYDVR0OBBYEFDd8
Tl8xxWx5N4fPeJuqxic01OE9MB8GA1UdIwQYMBaAFCLXuz/6+V87MD94MUR96h8Y
FWB2MA0GCSqGSIb3DQEBCwUAA4IBAQAf4SJFyCeAmXVZMTUkSq6SNg/R008BWLy/
uiAjOXmKZvbGe6b7LpOXOWFNoxCUXJfdRZ6nfE1QEKhdlR2l06C3QlBMWos3P1D/
aabFBoFa0T7bhcFWySomAoSdfdsHit86ApcF8sqGRtIqQko+FWFYj69Stz6fDLJI
yMh2B8YW8aXchh/jVroRTtoLzs2kAMPE/mai86qSx8Lkb8H0jv9rY/YxXnWjqZpJ
3basyHZv+loXvgfouEoWKqhDPzOqj5KP/t7GNReIG/SihRPYqtlQtSXHJrH37NU6
WMhsqAo/CZeau+PhveKXanc/tPDnFcsgmFmiqEGqrNBmvA3m/ijY
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions tests/Testcontainers.Commons/ssl/client/client.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDMSrLm0yzuk6/j
UrCC7Zb3ECNnvcLweCjC7GG675nDITxxPc5sUnAWuCaFu/BmbQ9ru5S6tgHXCtJc
S4CNjQiMZFAOxz6mi667s8P8CdfJMDsCxDA6HPTQIPiiJEVmUzvAukjHbSQxNdnt
KWG96GDoSKpwxZMhXMFAeP5kVPm2bgyy32kZm7wt1YNgdQSlsQN+wOBQ1CQYu9ya
18MRfn8nJFRETSWWTADgnW4X2iGPecxwx0xI/ii8zhMCOTHOBeJmjEXf48LgxAcb
Z/veTqOtPgG3h5riOAqzfKxtwSAZMywgnLYFgbzKvNrkAsgUg4dT2jwItmvJpMDl
a3+Xdwp1AgMBAAECggEALW3kFD/8My6s86aBAZCPnG/ei7SPa9WwrM4PmpgrD5Et
xXnq1DxN2EOJr34gYsqYXgr380BDrvwlVOhmVTP6ZWvuQKcOl88io3OBnuPadE8x
JDeYCOhFCZ53Y+kgdLWIKV7TjeOHo5jX1i04YtiQ6j60hkDta8MaZ3mwioO6BxbS
jP5BCMwR7HcG15mCtKPPV8y/1NCNPeKHtAcAwfYTBWR8XUipnaka3FvqcFiZwyfM
huA3IrdddUDYQWw6zuLAyiSDbPU/V/cS1EteNKrV2W7V3WOZ3ADtt9lKgpsVtL2V
ox8GAEL4igGT+8gt0lQSQoJLAQm4DekDnv/T1Y5c4QKBgQDwnbTx5Ygy9cQ8KC1t
KoqTcB90qSIlg0cdgRbFuL+fR+d/5W/GWKNlo8ijw4XukGWrMiShrWGqVmMyereV
pwC7x7LFLkS2KhfoLlKrgPh8Pzt4LA6TRx/ZWesADYud826KdMaDgifjte7j1OR2
EyHTAB7QiL1CDV4T0t3/Yc8YVQKBgQDZWnQNhIjl8as932LPGuFegufrLo36qLHT
YjxStnv1MXDxYDQixOp/9WG5e8tTCU9FU4IWBQu4zwsECvA/qXMgn6S/NyvWwIK7
BLSxbairUWsUWJbtQVh61Ocn0S12T6zQfUVxpyDwLSTzhIINit3si4vuM4/6K1f2
9WB156bJoQKBgAvduy6ywyTAOg09bgAUOQFMZkC6lpSDBN7Pnu/hTJHuWdxU1E5T
0LsSeLKa0eAR/vGSZ3wRsN9Vo065/pPCyKZ6ErbmsTzKlqM8pZcPpTF7bNNgWNeq
ikeNx6kZAemoN6tcVu3lXVI9hqp1tU6dYu2k8+AU3kCDqEASBiCyEiSBAoGAGJT2
UyEOKpNufozpK+sqWfoMKLkXLaYulm2hzOj+k/iHgYUT4GrM6rPh3Yx2rml7IagU
KlFfxgMEh+yEx25uqt3jUAz5VExpfKVHmlmAnf+TULXEPAkL7LhvfD1YGu1f6iSA
2h3Ax+kTKMdvvgBaoQoXRVVnjy+fvzp5MlyErIECgYEA5xwEIa3TjI3Eeru8Evdn
fEni8Ag1kT1Q7ePO1uVfQ9VZvuwZ6ECUc1H1V0DfrPAybed0mCryF4l3N240AJDR
le3YSlsvh0hISkAowMJw+jy26CTIiFTaBG4HdbRYWePPt4GAJXUocL1nGBIcKlGj
v+D0BpT4R+1I44+yOpA8DA8=
-----END PRIVATE KEY-----
3 changes: 3 additions & 0 deletions tests/Testcontainers.Commons/ssl/client/client.pfx
Git LFS file not shown
36 changes: 36 additions & 0 deletions tests/Testcontainers.Commons/ssl/generate-certs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/bin/bash
set -e

# Generate certificates in 'ssl' using an Alpine container.
# docker run --rm -v "$(pwd)/ssl:/ssl" -w /ssl alpine:latest sh -c "apk add --no-cache openssl && sh generate-certs.sh"

readonly SSL_DIR="$(cd "$(dirname "$0")" && pwd)"
readonly CA_DIR="$SSL_DIR/ca"
readonly SERVER_DIR="$SSL_DIR/server"
readonly CLIENT_DIR="$SSL_DIR/client"
readonly CONFIG_FILE="$SSL_DIR/server.cnf"
readonly PASSWORD="password"

mkdir -p "$CA_DIR" "$SERVER_DIR" "$CLIENT_DIR"

echo "Generating CA certificate..."
openssl genrsa -out "$CA_DIR/ca.key" 2048
openssl req -x509 -new -nodes -key "$CA_DIR/ca.key" -out "$CA_DIR/ca.crt" -sha256 -days 3650 -subj "/CN=Test CA"

echo "Generating Client certificate..."
openssl genrsa -out "$CLIENT_DIR/client.key" 2048
openssl req -new -key "$CLIENT_DIR/client.key" -out "$CLIENT_DIR/client.csr" -subj "/CN=Client"
openssl x509 -req -in "$CLIENT_DIR/client.csr" -CA "$CA_DIR/ca.crt" -CAkey "$CA_DIR/ca.key" -CAcreateserial -out "$CLIENT_DIR/client.crt" -sha256 -days 365
openssl pkcs12 -export -out "$CLIENT_DIR/client.pfx" -inkey "$CLIENT_DIR/client.key" -in "$CLIENT_DIR/client.crt" -certfile "$CA_DIR/ca.crt" -password pass:$PASSWORD

echo "Generating Server certificate..."
openssl genrsa -out "$SERVER_DIR/server.key" 2048
openssl req -new -key "$SERVER_DIR/server.key" -out "$SERVER_DIR/server.csr" -config "$CONFIG_FILE"
openssl x509 -req -in "$SERVER_DIR/server.csr" -CA "$CA_DIR/ca.crt" -CAkey "$CA_DIR/ca.key" -CAcreateserial -out "$SERVER_DIR/server.crt" -sha256 -days 365 -extfile "$CONFIG_FILE" -extensions v3_req
openssl pkcs12 -export -out "$SERVER_DIR/server.pfx" -inkey "$SERVER_DIR/server.key" -in "$SERVER_DIR/server.crt" -certfile "$CA_DIR/ca.crt" -password pass:$PASSWORD

rm "$CA_DIR/ca.srl"
rm "$CLIENT_DIR/client.csr"
rm "$SERVER_DIR/server.csr"

echo "Certificates generated successfully."
14 changes: 14 additions & 0 deletions tests/Testcontainers.Commons/ssl/server.cnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no

[req_distinguished_name]
CN = localhost

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = localhost
IP.1 = 127.0.0.1
19 changes: 19 additions & 0 deletions tests/Testcontainers.Commons/ssl/server/server.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDEjCCAfqgAwIBAgIUY4p69ZHGaJX6NqCS/XBdoJ5N+3kwDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAwwHVGVzdCBDQTAeFw0yNTEwMDQxMDU3MzBaFw0yNjEwMDQx
MDU3MzBaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAJBivp8OPZg9lrnckBuE3Ji1ps5G3gOFgMbg1kItHLVgkMNd
W7p4i8oSGegvusrAvXAWUCLrmP5ezLNqaOeawUGlsuqoYCu/2uQNpPRpKWxTynsS
o52zXFplkEmwzfcEO+076FApfmIdBk/LYvh1T4Jf5X/h64xOQzT/ugNlyv+Yw6He
H8wiCDCIkbo2SMd2eCwlcCsmjlPjzuzf7Dxb+KWnase+hJNGD31ykyQ8ioT2KGRT
NmRRPwLrX04/L99K6zbiVaWlBqSoH1PIPukmgcIh4jYAOPt9LPTWgc2t5s0HFnOq
rFW1qarSyGYBvPPmb8er+rQyGud0kIvP63NVS7cCAwEAAaNeMFwwGgYDVR0RBBMw
EYIJbG9jYWxob3N0hwR/AAABMB0GA1UdDgQWBBSNBNl2xs9RVglE4bkT24ZOXnqQ
UjAfBgNVHSMEGDAWgBQi17s/+vlfOzA/eDFEfeofGBVgdjANBgkqhkiG9w0BAQsF
AAOCAQEAgq73tKjz8II6Kp809hEuryEYZ8Zgch1Ajqmmdx5kZlVGYwmoYXyLAqVo
O0j5SlNVFFPGfIWPxhpdzforQMpX+aPQu6c9q/XurrRxBJR7vHv9ucbNIQPN/61N
ga3/wRVXFt9E1Ri+HhwNlk+cut4EK/l3ld++HnL8tcXxhSNE/xLCylXHoan1Ynok
h2oY9UK7pSo9zi7+PZdXnBiRejgf7Y42T1bSThoTgSzRotFPayn+Xh5YNeEHIGt1
dSdR4U0g3GhC//QvmxIaY/VchiJ0M5A/m2RHZJ02eLKyJVD/MCWp0h25/+WbcOY/
jYs+u/mL5yq/4d+rcB8LEmYI/sHr0g==
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions tests/Testcontainers.Commons/ssl/server/server.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCQYr6fDj2YPZa5
3JAbhNyYtabORt4DhYDG4NZCLRy1YJDDXVu6eIvKEhnoL7rKwL1wFlAi65j+Xsyz
amjnmsFBpbLqqGArv9rkDaT0aSlsU8p7EqOds1xaZZBJsM33BDvtO+hQKX5iHQZP
y2L4dU+CX+V/4euMTkM0/7oDZcr/mMOh3h/MIggwiJG6NkjHdngsJXArJo5T487s
3+w8W/ilp2rHvoSTRg99cpMkPIqE9ihkUzZkUT8C619OPy/fSus24lWlpQakqB9T
yD7pJoHCIeI2ADj7fSz01oHNrebNBxZzqqxVtamq0shmAbzz5m/Hq/q0MhrndJCL
z+tzVUu3AgMBAAECggEAB2vr8cULns2w97DB/4gexq1fpkQM7rq9WdD+HRIF4xTU
RsEqZoqtCh/6u5foeWTa1+4YWb3TyWTEujGCtD+c0MEG/KTW/Ki0maWnOvZE2M/z
HSG3eJ2wO5KeOLYhKsye6pzPs38j2JXhWIH9065D/fxBPFzifKhxL+zieiuQpFP5
cH7CPe8mWoNc2FzKzLYfh15IZIZYyGPLzs+ywyzEfzk4CwgPr889sc3WmJhbINkA
b7VT0oIDKyL5JDzIubVNBPnMlwFcIS8k2o/gZZpWxvu0x6/cwMq+Q9lq9WWpEvSN
HMY9jP+16q8nVlfc/weZ5U+vh7DqPdh0uI+zZ0QFQQKBgQDDjYrrm7LpktSqOoTG
6MWhkAb8Zeugc6kkuCPoZyk5Xn+pfwEdxUZW/Av/+zEK9wUfotOEFR/PgWGq7UWV
Fv7LAIWdkV5YIgyvmdczmasf9kUS3tvrIOrQl890/YjtAfB2tMfQHdHNBGMToObM
YrmPk4UwxqRLv8YGx6psqTJ0xwKBgQC9BD/yU0kmsnIKYDVlYmUhLHjaZyS9o7GO
S5H/QefxYmIFwu5WjTtWi5Gbo4a7S8QMmlqykz78t7yMkSlBhwqdLUgu0p7mp3GV
/80NH4yuC4JYBkkaR6L/zso+Zp35SmHadvF6JFbzA19KKaFzDsYpi4a7LoVNjU8y
s1hQGzChkQKBgGTqvb97OWh6ws8apfz0kVEgP8qvWlsSdT6i3L0Jx+d4Ug+JoGzZ
qsQnDJZM7nFHK1i5McjfEeyHS3znN9qJ5HGk0k+Pfo2i/ML+dGWHrx0ufVUQt5Nv
CF8fiQtJ8AjH0G2iO9+2E9hmpC60AYeGh1aF/d0/FfiVfj9veQ7cflJvAoGAZOOw
0kKcSBh1gI5L0frMKgHX3BOz67lFG8PAgPQHvrMZySN8HhyycIZ8yQtm7fAKDAQT
pz+rHi9gZ9NPpxdSlgTGg5+Oi2US3tKz+248o+WmxB9Ow8U6/rm8/8O8TITkaDyW
tfBRrNK++RHxiD15jlFYL+8r3fIwNMq/t7pbodECgYBt72vA7BUTt7o5WcIVK8KJ
MYbp5qsuves4ewRdenNEN7g4GhifY7Tt7AoDRNt+s4lQ8T1oUPcMcVdFiasdXpDN
fms1n9G3DhTRW3rljTE8wlKH/uGab7T9xtJ+w9tMwBBZqqSs5TonlHEyqKFkL2V7
WVAWRzZmza5/5ubWoMhEFg==
-----END PRIVATE KEY-----
3 changes: 3 additions & 0 deletions tests/Testcontainers.Commons/ssl/server/server.pfx
Git LFS file not shown