public BoxJWTAuth(IBoxConfig boxConfig) { this.boxConfig = boxConfig; var pwf = new PEMPasswordFinder(this.boxConfig.JWTPrivateKeyPassword); AsymmetricCipherKeyPair key; using (var reader = new StringReader(this.boxConfig.JWTPrivateKey)) { key = (AsymmetricCipherKeyPair)new PemReader(reader, pwf).ReadObject(); } this.credentials = DotNetUtilities.ToRSA((RsaPrivateCrtKeyParameters)key.Private); }
/// <summary> /// Constructor for JWT authetication /// </summary> /// <param name="boxConfig">Config contains information about client id, client secret, enterprise id, private key, private key password, public key id </param> public BoxJWTAuth(IBoxConfig boxConfig) { this.boxConfig = boxConfig; 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); }