最近、私たちの組織はWindows共有フォルダを置き換えるBoxを採用しました。私が参加している小さな開発グループは、少なくとも1つのBox共有からファイルをアップロードしてダウンロードする必要があるため、APIを使い始めるだけです。Box C#SDKプロジェクトでBox-created RSAキーを使用してエラーをキャストできません
私たちのグループは現在、Visual Studio 2013を使用してC#で開発し、.NET 4.0の優先ターゲットを使用しています。現在のバージョンのSDK(2.15.6)は当社のプラットフォームと互換性がありませんが、以前のバージョンを見ると、既存のプラットフォームでバージョン2.12.1を活用できるはずです。 SDKには、API呼び出しにアクセスするC#メソッドとサンプルコードを含むソリューションが含まれています。
現在、資格情報を消費してサーバーに認証するサンプルコードを取得しようとしています。
私はアプリケーションを作成し、組み込みのボックス設定オプションを使用して、パブリック/プライベートキーペアを生成してJSONファイルとして表示しました。
私がハングアップしているところは、Box.V2.Samples.JWTAuth
プロジェクトで鍵ペアを使用しようとするときです。私は、JSONファイルから秘密鍵をコピーした\ n個の実際のキャリッジリターンとを交換し、そしてprivate_key.pem
ファイルにそれを貼り付け:
私はApp.configファイルに他の値を配置して、コンソールを開始しました私ははBouncyCastle AsymmetricCipherKeyPairオブジェクトにはBouncyCastle RsaPrivateCrtKeyParamatersオブジェクトから取得できますか
:Unable to cast
エラーが発生しアプリ?
編集
Iは、問題のコードブロックを追跡することができました。 SDK\Box.V2.JWTAuth\BoxJWTAuth.cs
から:私の読書から
var pwf = new PEMPasswordFinder(this.boxConfig.JWTPrivateKeyPassword);
AsymmetricCipherKeyPair key;
using (var reader = new StringReader(this.boxConfig.JWTPrivateKey))
{
key = (AsymmetricCipherKeyPair)new PemReader(reader, pwf).ReadObject();
}
var rsa = DotNetUtilities.ToRSA((RsaPrivateCrtKeyParameters)key.Private);
this.credentials = new SigningCredentials(new RsaSecurityKey(rsa), SecurityAlgorithms.RsaSha256Signature, SecurityAlgorithms.Sha256Digest);
それは専用ボックスは(ない現在、少なくとも)を供給されているものではありません公開/非公開のペアからキーと何Iを抽出する必要が予想しているコードのように思えます既に供給がRsaPrivateCrtKeyParameters
のように見えるので、このキャストは必要ではありません。
はね、おそらく。コードを投稿することができます。 –
私はあなたがそこで何をしたかを見ます。コードが配置され、追加されました。 –