如何使用rail -auth验证X509证书的主题?



我正试图保护我为Docusign Connect API提供的一个端点。我已经在docusign连接API配置上检查了带有X509证书的签名消息。

客户端证书通用名也被添加到Docusign帐户中。

我正在尝试验证使用rails-auth gem发送的主题。

ACL文件(ACL .yml)

---
- resources:
  - method: POST
    path: /
  allow_x509_subject:
    cn: "the common name"

我在config.ru文件

中添加了以下内容
app = Rails.application
acl = Rails::Auth::ACL.from_yaml(                               
  File.read("path of the acl.yml"),                    
  matchers: { allow_x509_subject: Rails::Auth::X509::Matcher }  
)                                                               
acl_auth = Rails::Auth::ACL::Middleware.new(app, acl: acl)      
x509_auth = Rails::Auth::X509::Middleware.new(                  
  acl_auth,                                                     
  ca_file: "path_to_the_pem_file.crt",
  cert_filters: { 'X-SSL-Client-Cert' => :pem })                                                               
run x509_auth 

我得到以下异常:

***异常Rails::Auth::NotAuthorizedError在机架应用程序对象(未授权请求)

在Docusign Account中添加的Common Name与我在YML文件中提到的相同。有人能帮我找到这里的问题吗?

我正在使用Ruby 2.2.2和rails 4.2.2, rails-auth 2.0.3

保护连接端点并确保所有调用都来自DocuSign的最佳方法是使用HMAC安全性。

当使用HMAC安全性时,从您的DocuSign Connect帐户发送的每条消息都包含额外的头值,每个HMAC密钥对应一个您定义的值(最多100个),它将包含使用HMACSHA256的HMAC密钥散列的消息体。例如,如果您定义了两个密钥,那么将添加两个头,X-DocuSign-Signature-1和X-DocuSign-Signature-2。它们将分别包含用第一秘钥和第二秘钥散列的消息正文。

https://developers.docusign.com/esign-rest-api/guides/connect-hmac

最新更新