mirror of
https://github.com/actions/runner.git
synced 2025-12-10 20:36:49 +00:00
41 lines
1.5 KiB
C#
41 lines
1.5 KiB
C#
|
|
using System.Security.Cryptography.X509Certificates;
|
|
using GitHub.Services.Common;
|
|
|
|
namespace GitHub.Runner.Sdk
|
|
{
|
|
public class RunnerCertificateSettings
|
|
{
|
|
public bool SkipServerCertificateValidation { get; set; }
|
|
public string CACertificateFile { get; set; }
|
|
public string ClientCertificateFile { get; set; }
|
|
public string ClientCertificatePrivateKeyFile { get; set; }
|
|
public string ClientCertificateArchiveFile { get; set; }
|
|
public string ClientCertificatePassword { get; set; }
|
|
public IVssClientCertificateManager VssClientCertificateManager { get; set; }
|
|
}
|
|
|
|
public class RunnerClientCertificateManager : IVssClientCertificateManager
|
|
{
|
|
private readonly X509Certificate2Collection _clientCertificates = new X509Certificate2Collection();
|
|
public X509Certificate2Collection ClientCertificates => _clientCertificates;
|
|
|
|
public RunnerClientCertificateManager()
|
|
{
|
|
}
|
|
|
|
public RunnerClientCertificateManager(string clientCertificateArchiveFile, string clientCertificatePassword)
|
|
{
|
|
AddClientCertificate(clientCertificateArchiveFile, clientCertificatePassword);
|
|
}
|
|
|
|
public void AddClientCertificate(string clientCertificateArchiveFile, string clientCertificatePassword)
|
|
{
|
|
if (!string.IsNullOrEmpty(clientCertificateArchiveFile))
|
|
{
|
|
_clientCertificates.Add(new X509Certificate2(clientCertificateArchiveFile, clientCertificatePassword));
|
|
}
|
|
}
|
|
}
|
|
}
|