AWS SDK C#:尝试将对象上传到 S3 存储桶时出现空引用异常

AWS SDK C#: null reference exception when trying to upload object to S3 bucket

我有以下用于连接和上传到 AWS S3 存储桶的代码:

class Program    
{
    public static AmazonS3EncryptionClient encryptionClient;

    public static void Main(string[] args)
    {
        Upload();
    }

    static void Upload()
    {
        var algorithm = new System.Security.Cryptography.ECDsaCng();
        encryptionClient = new AmazonS3EncryptionClient(new EncryptionMaterials(algorithm));

        PutObjectRequest request = new PutObjectRequest();
        request.BucketName = "...";
        request.Key = "...";
        request.InputStream = new MemoryStream(Encoding.Default.GetBytes("..."));
        encryptionClient.PutObject(request);
    }

我在

处收到空引用异常
encryptionClient.PutObject(request);

行,但我找不到原因,因为我的 none 个对象为空。

我正在使用 Visual Studio 以及最新版本的 AWSSDK.S3 和 AWSSDK.Core 软件包。

NPE与ECDsaCng算法的使用有关。替换行

var algorithm = new System.Security.Cryptography.ECDsaCng();

var algorithm = System.Security.Cryptography.RSA.Create();

允许代码按预期执行。我不能说为什么会出现这种行为。堆栈跟踪源自 AWS SDK 中的 EncryptEnvelopeKey