我们组织最近采用Box来替换Windows共享文件夹。我参与的小型开发小组需要上传和下载至少一个Box共享文件,因此我们刚刚开始使用API。无法通过Box C#SDK项目使用Box创建的RSA密钥投射错误
我们集团目前使用的Visual Studio 2013中的C#开发与.NET 4.0的首选目标。当前版本的SDK(2.15.6)与我们的平台不兼容,但是看到之前的版本,我们应该能够在现有平台上使用2.12.1版本。 SDK包含一个使用C#方法访问API调用的解决方案和一个包含示例代码的解决方案。
目前我正在试图让样本代码来使用我的证书和认证的服务器。
内箱的开发工具我已经创建了一个应用程序,并使用内置式箱体配置选项来生成被表现为一个JSON文件中的公钥/私钥对。
给我带来了挂了是,当我尝试使用密钥对与Box.V2.Samples.JWTAuth
项目。我复制了私钥了JSON文件,替换成\ n与实际的回车符,贴吧到private_key.pem
文件:
我放在app.config中的其他价值,并开始控制台应用程序,这会产生错误Unable to cast
:
如何从一个BouncyCastle的RsaPrivateCrtKeyParamaters反对一个BouncyCastle的AsymmetricCipherKeyPair对象得到什么?
编辑
我能够追查有问题的代码块。从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);
从我的阅读,好像代码预期不必提取公/私对其中是不是有什么盒子是提供(至少目前没有)私钥和我'供应似乎已经是RsaPrivateCrtKeyParameters
类型,所以这个演员可能(不再)是必要的。
听起来你在盒装也许。你可以发布你的代码。 –
我看到你在那里做了什么。代码位于并添加。 –