ssl - 如何将 frisby.js 与 SSL 客户端证书一起使用?

标签 ssl frisby.js

我对 Frisby.js 与使用 SSL 客户端证书的 REST 服务的使用有疑问。

如果我使用 Request 包与服务对话,我可以这样做:

request.get(URL, {
  agentOptions: {
    // Or use `pfx` property replacing `cert` and `key` when using private key, certificate and CA certs in PFX or PKCS12 format:
    pfx: fs.readFileSync(pfxFilePath),
    passphrase: 'password',
    ca: fs.readFileSync(caFilePath)
  }
});

由于 Frisby 使用请求,我假设我可以在 Frisby 测试中做类似的事情,但我似乎无法获得正确的语法。

您能推荐一些可行的方法吗?谢谢...

最佳答案

.get().post() 方法可以采用一个额外的结构,其内容类似于https.request() 的options 参数。 .您需要为(其中一些)提供值:pfxkeycertca密码

像这样:

var fs     = require('fs');
var frisby = require('frisby');

frisbee.create( 'Test name' )
  .get(
    'https://localhost/rest/endpoint',
    {
      key:        fs.readFileSync( "/path/to/certificates/certificate.key" ),
      cert:       fs.readFileSync( "/path/to/certificates/certificate.crt" ),
      ca:         fs.readFileSync( "/path/to/certificates/ca.crt" ),
      passphrase: "your pass phrase"
    }
  )
  .expectStatus( 200 )
  .toss();

关于ssl - 如何将 frisby.js 与 SSL 客户端证书一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28157351/

相关文章:

ruby-on-rails - Mac OS X + Rails 3.1 + unicorn + HTTPS

javascript - Frisby ExpectJSON 包含无序列表

node.js - 弗里斯比功能测试标准

javascript - 测试 API 如何使用 node.js 处理无效的 JSON 语法请求正文

javascript - 使用身份验证登录 frisby 请求 header 中的参数

ssl - Java EE RAR5038 :Error while creating resource for connection pool by using Secure Sockets Layer

tomcat - 用户主体 不可用于经过身份验证的用户,除非还获得了特定角色的授权

apache - 443 Forbidden,如何在Django中使用https

java - 具有 SSL-Handshake-Exception 的 Android JavaX-Mail

javascript - 让 Frisby.js 测试同步运行