当我试图将证书请求作为OB签名证书上载到开放银行目录时,出现了此错误。

当我复制信息时,我会收到这样的信息;

当我检查网络请求时,它似乎显示了一个内部服务器错误(响应500)并返回graphql。以下是我们的回应:
{"errors":[{"message":"Error: Request failed with status code 400","locations":[{"line":2,"column":3}],"path":["addCertificate"]}],"data":null}这个问题以前有没有人发生过?我使用以下命令使用我的凭据使用Open生成CSR:
openssl req -new -newkey rsa:2048 -nodes -out [STATEMENT_CLIENT_ID].csr -keyout [STATEMENT_CLIENT_ID].key -subj "/C=GB/ST=/L=/O=OpenBanking/OU=[ORGANISATION_ID]/CN=[STATEMENT_CLIENT_ID]" -sha256大括号中的标签被修改。我也试过码头,但没有收获。任何解决办法我都会留心。
谢谢您抽时间见我。
发布于 2019-07-08 13:51:53
通过使用相应的配置文件在OpenSSL上生成CSR来解决这个问题。eiDAS格式是必不可少的。
命令:
req -new -config "obseal.cnf" -out "Seal.csr" -keyout "SealPrivateKey.key"
req -new -config "obwac.cnf" -out "WAC.csr" -keyout "WACPrivateKey.key"发布于 2020-08-25 13:00:35
根据BenTaylor上面的问题,OBWAC和OBSEAL的组成中有一个隐藏的宝石,其形式是QCStatements,它将软件语句断言中指定的角色映射到来自CSR的结果证书在其qcStatement OID中指定的角色。下面是OBSEAL的CNF示例:
[ req ]
default_bits = 2048
encrypt_key = no
default_md = sha256
default_keyfile = obseal.key
utf8 = yes
string_mask = utf8only
prompt = no
distinguished_name = client_dn
req_extensions = client_reqext
[ client_dn ]
countryName = "GB"
organizationName = "Typical O name"
# Subject common name
commonName = "<Open Banking Directory Org ID>"
[ client_reqext ]
keyUsage = critical,digitalSignature,nonRepudiation
subjectKeyIdentifier = hash
qcStatements=DER:30713013060604008e4601063009060704008e46010602305a06060400819827023050303930110607040081982701020c065053505f504930110607040081982701030c065053505f414930110607040081982701040c065053505f49430c0c4f70656e2042616e6b696e670c0547422d4f42如果将上述二进制代码粘贴到ASN1解码器中,您将看到以下结构:
SEQUENCE (2 elem)
SEQUENCE (2 elem)
OBJECT IDENTIFIER 0.4.0.1862.1.6
SEQUENCE (1 elem)
OBJECT IDENTIFIER 0.4.0.1862.1.6.2
SEQUENCE (2 elem)
OBJECT IDENTIFIER 0.4.0.19495.2
SEQUENCE (3 elem)
SEQUENCE (3 elem)
SEQUENCE (2 elem)
OBJECT IDENTIFIER 0.4.0.19495.1.2
UTF8String PSP_PI
SEQUENCE (2 elem)
OBJECT IDENTIFIER 0.4.0.19495.1.3
UTF8String PSP_AI
SEQUENCE (2 elem)
OBJECT IDENTIFIER 0.4.0.19495.1.4
UTF8String PSP_IC
UTF8String Open Banking
UTF8String GB-OB节点PSP_*以如下方式将OBWAC/OBSEAL证书映射到软件语句角色:
PSP_PI = PISPPSP_AI = AISPPSP_IC = CBPII您可以使用ASN1编辑器编辑/删除节点,并根据OBWAC和OBSEAL的需要派生二进制文件。只需插入二进制值减去qcStatement=DER:部分,并完成它。您也可以查看qcStatement 使用此网站的结构。
另一个注意事项是,与eIDAS QSeal证书不同,OBSEAL的最大密钥长度似乎是2048位。
希望有人会发现这是有用的,因为英国银行开始放弃旧的开放银行签名/传输密钥,转而实现eIDAS/OBWAC+SEAL。祝你好运,让乐趣开始吧。o7
发布于 2021-03-29 09:12:37
我目前在生产沙箱上也有同样的问题,而开放式银行并没有显示出任何相关的错误。
使用OpenSSL版本: OpenSSL 1.1.1g,2020年4月21日,然后在上传字段中弹出。
在这个pdf链接之后,在upload字段中弹出文档。
[ req ]
default_bits = 2048
encrypt_key = yes
default_md = sha256
utf8 = yes
string_mask = utf8only
prompt = no
distinguished_name = client_dn
req_extensions = client_reqext
[ client_dn ]
countryName = "GB"
organizationName = "My bank Ltd"
organizationIdentifier = "OBGBR-GB-Unknown1315H25731lXE8ZIEM"
commonName = "Unknown1315H25731lXE8ZIEM"
[ client_reqext ]
keyUsage = critical,digitalSignature,nonRepudiation
subjectKeyIdentifier = hash
qcStatements=DER:3081813013060604008e4601063009060704008e46010603306a06060400819827023060303930110607040081982701010c065053505f415330110607040081982701020c065053505f504930110607040081982701030c065053505f41490c1b46696e616e6369616c20436f6e6475637420417574686f726974790c0647422d464341我能看到的不同之处在于organizationIdentifier的定义。在文档中,如果使用不支持它的工具,但是当前版本的OpenSSl确实支持它,那么它们将如何定义它。因此,当印刷时:
openssl asn1parse -in obwac.csr -inform PEMpdf中的例子:
66:d=5 hl=2 l= 3 prim: OBJECT :2.5.4.97
71:d=5 hl=2 l= 34 prim: UTF8STRING :PSDGB-OB-Unknown1315H25731lXE8ZIEM新版OpenSSL:
66:d=5 hl=2 l= 3 prim: OBJECT :organizationIdentifier
71:d=5 hl=2 l= 34 prim: UTF8STRING :OBGBR-GB-Unknown1315H25731lXE8ZIEMhttps://stackoverflow.com/questions/56906200
复制相似问题