2

我有一个关于将 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 测试中做类似的事情,但我似乎无法获得正确的语法。

你能建议一些可能有用的东西吗?谢谢...

4

1 回答 1

1

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

像这样的东西:

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();
于 2015-06-10T13:49:22.583 回答