ljsystem / bankid
瑞典BankID API库
1.0
2023-07-18 09:23 UTC
Requires
- php: ^7.1 || ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^6.3 | ^7.0.1
README
安装
composer require ljsystem/bankid
版本 1.0
由于BankID API从6.0版本开始引入了破坏性变更,因此本包的相应新版本也进行了版本号的提升至1.0。
主要变更当然是从auth()
和sign()
方法中移除了个人编号的输入参数。现在,这些方法要求使用动态二维码来启动认证和签名过程。关于如何进行此操作的更多信息,请参阅BankID API文档。
本包的1.0版本还引入了支持电话身份验证的新方法phoneAuth()
和phoneSign()
。**注意:目前尚未进行测试**。
证书
测试环境
包中提供了BankID测试环境的证书,如果没有提供任何参数,则默认使用这些证书。
$bankId = new BankID();
生产环境
生产环境的CA证书可以在BankID文档的“服务器证书发行人”部分找到。
生产环境的证书和密钥通常包含在两个文件中,分别为.cer
和.key
。密钥受密码保护。**请联系您公司的银行订购这些证书**。
证书也可以打包在一个文件中,通常以.p12
或.pfx
结尾。
两个证书的使用
以下是如何使用.cer
和.key
的示例,在这个示例中分别命名为prod.cer
和prod.key
$bankId = new BankID('prod', '/path/to/prod.cer', '/path/to/prod_cacert.cer', '/path/to/prod.key', 'key-passphrase');
单个文件的使用
要使用单个文件,请将p12/pfx
-文件转换为PEM编码的文件
openssl pkcs12 -in prod.p12 -out prod.pem
以下是使用密码使用它的方法
$bankId = new BankID('prod', '/path/to/prod.pem', '/path/to/prod_cacert.cer', null, 'key-passphrase');
安全性
如果您发现任何与安全性相关的问题,请通过samfundssystem@vitecsoftware.com联系,而不是使用问题跟踪器。