0

I AWS S3バケットに接続し、アップロードする次のコードを持っている:AWS SDKのC#:S3バケットにオブジェクトをアップロードしようと、null参照の例外

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); 
    } 

私は

でnull参照の例外を取得していますが
encryptionClient.PutObject(request); 

行ですが、私のオブジェクトがnullでないため原因を見つけることができません。

私はVisual Studioと最新バージョンのAWSSDK.S3とAWSSDK.Coreパッケージを使用しています。

答えて

1

NPEはECDsaCngアルゴリズムの使用に関連しています。予想通り線

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

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

を交換するコードを実行することを可能にします。なぜこの振る舞いが存在するのかは言えません。スタックトレースは、AWS SDKのEncryptEnvelopeKeyに由来しています。

関連する問題