63 lines
1.9 KiB
C#
63 lines
1.9 KiB
C#
using AlibabaCloud.SDK.Cas20200407;
|
|
using AlibabaCloud.SDK.Cas20200407.Models;
|
|
using AlibabaCloud.OpenApiClient.Models;
|
|
using Hua.DDNS.Common.Config.Options;
|
|
using Hua.DDNS.SslProviders;
|
|
using Microsoft.Extensions.Logging;
|
|
using Microsoft.Extensions.Options;
|
|
|
|
namespace Hua.DDNS.SslProviders.Ali
|
|
{
|
|
public class AliSslProvider : ISslDownloadProvider
|
|
{
|
|
private readonly Client _client;
|
|
private readonly AliCloudOption _aliCloudOption;
|
|
private readonly ILogger<AliSslProvider> _logger;
|
|
|
|
public AliSslProvider(
|
|
ILogger<AliSslProvider> logger,
|
|
IOptions<AliCloudOption> aliCloudOption)
|
|
{
|
|
_logger = logger;
|
|
_aliCloudOption = aliCloudOption.Value;
|
|
|
|
var config = new Config
|
|
{
|
|
AccessKeyId = _aliCloudOption.AccessKeyId,
|
|
AccessKeySecret = _aliCloudOption.AccessKeySecret,
|
|
Endpoint = _aliCloudOption.Endpoint
|
|
};
|
|
|
|
_client = new Client(config);
|
|
}
|
|
|
|
public async Task<List<SslCertificate>> GetCertificatesAsync()
|
|
{
|
|
try
|
|
{
|
|
_logger.LogWarning("阿里云 SSL 证书列表功能待实现");
|
|
return new List<SslCertificate>();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "获取阿里云 SSL 证书列表失败");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
public async Task<bool> DownloadCertificateAsync(string certificateId, string savePath, string fileName)
|
|
{
|
|
try
|
|
{
|
|
_logger.LogWarning($"阿里云 SSL 证书下载功能待实现: {certificateId}");
|
|
return false;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, $"下载证书失败: {certificateId}");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|