Docusign C#SDK意外的Pem类型

时间:2018-11-22 00:40:16

标签: asp.net docusignapi

我正在尝试实现Docusign sdk,而RequestJWTUserToken方法会产生“意外的Pem类型”异常。我已经完全复制了docusign管理员页面上显示的私钥。

public string JWTAuthLogin()
{
    ApiClient apiClient = Configuration.Default.ApiClient;
    string oAuthBasePath = "account-d.docusign.com";
    OAuth.OAuthToken tokenInfo = apiClient.RequestJWTUserToken(INTEGRATOR_KEY, USER_ID, oAuthBasePath, PRIVATE_KEY_BYTES, 1);
    OAuth.UserInfo userInfo = apiClient.GetUserInfo(tokenInfo.access_token);
    string accountId = string.Empty;
    foreach (var item in userInfo.Accounts)
    {
        if (item.IsDefault == "true")
        {
            accountId = item.AccountId;
            apiClient = new ApiClient(item.BaseUri + "/restapi");
            break;
        }
    }
    return accountId;
}

1 个答案:

答案 0 :(得分:0)

在这里https://github.com/docusign/docusign-csharp-client/issues/168看到一些人如何解决此问题:

解决方案1:

var privateKeyStream = System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(testConfig.PrivateKeyFilename));
    OAuth.OAuthToken tokenInfo = apiClient.RequestJWTUserToken(testConfig.clientId, testConfig.UserId, testConfig.OAuthBasePath, privateKeyStream, testConfig.ExpiresInHours);

解决方案2:

testConfig.PrivateKeyFilename = File.ReadAllText("./private.pem");