Pankkiyhteys
This library is an implementation of Web Services API, a standardised solution used for automated communications between banks and corporate customers.
Currently only Osuuspankki is supported.
For in depth technical documentation about Web Services click here .
Install
Install with npm :
npm install pankkiyhteys
Usage
Autogenerated docs at: https://hyrsky.github.io/pankkiyhteys
Renewing certificate
function isAboutToExpire (key ) {
const dateToCheck = new Date ()
dateToCheck.setMonth(dateToCheck.getMonth() + 2 )
return key.expires() < dateToCheck
}
const key = new Key(oldPrivateKey, oldCert)
const client = new Osuuspankki('1234567890' , key, 'FI' )
if (key.isAboutToExpire()) {
const keys = await Key.generateKey()
await writeFile('./newkey.pem' , keys.privateKey)
const certificate = await client.getCertificate(keys.privateKey)
await writeFile('./newcert.pem' , certificate)
}
Type aliases
Language
Language: "EN" | "FI" | "SV"
ParsePreprocess
ParsePreprocess: function
Type declaration
( xml: string , document: XMLDocument ) : Promise < void > | void
Parameters
xml: string
document: XMLDocument
Returns Promise < void >
|
void
Variables
Const DSIG_ENVELOPED_SIGNATURE
DSIG_ENVELOPED_SIGNATURE: "http://www.w3.org/2000/09/xmldsig#enveloped-signature" = "http://www.w3.org/2000/09/xmldsig#enveloped-signature"
Const OPPohjola
OPPohjola: "-----BEGIN CERTIFICATE-----MIIFMzCCAxugAwIBAgICHhkwDQYJKoZIhvcNAQELBQAwKjELMAkGA1UEBhMCRkkxGzAZBgNVBAMTEk9QLVBvaGpvbGEgUm9vdCBDQTAeFw0xMjA2MDcwODQyNDJaFw00MTA2MDcwODQyNDJaMCoxCzAJBgNVBAYTAkZJMRswGQYDVQQDExJPUC1Qb2hqb2xhIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCdFCgwifVV/XdLNmuIAUox7H3RZOyWotq3HUyGWCX/T337wfrbAQWXSa8C4z2Adr0O3P0qMEFRBKt2p4zupD4bkzR1p8tn/K2Y+TVf/ZAjpk3S1/7KZT8DqRCnlb2IuUCeO0OaC0gkXIqkeeoogHhYYdQwI0qai2qk8N3jgTlOXqAHceg+yO0h58VIcCaASfR9zIclmYLKg2pFPoC22+2QlCgSg4M1ceoiie48Nzk+BYA1Qm1TGjox9BGakiSq+pF+6GC+QBjMlnd8rz8lAPqZ7eoukLanOZxo97bG1nIsEyrDTBT+hdkJj4VG+m0Q8oLtBfzadekMdWwjHgRWYcQHrlI5WxTgAT5iDdGMrg05cM8poxy09HoFBKHS1fgaFVddr7MFqZcuz/kyaQevjnsfPXkI3eDqhxnLbRjHrnqBWX7ELyLgcEjX4syTteKp8aAeYdvN8U8AMJ/q56Guob5g/RlDfBXO9aoSyR3bPh6m8sGNgfB38NDKpO6NZK04vLvK3hF0NhWdLqr+ccs1slaWPR2mK0+19o7EjObWGPBxCs17jkd2OV7iXQwt1gaNcIhDDjpH4MdR4FZla64vfuMh1lsVtqi0goCuS6p4aH7VIhjTNVPlQulLgFj2e41z3DmpCo/gfZ65QDYYVzFZmCQFfaeoyfZ6SK/jVjUEthSC8wIDAQABo2MwYTAfBgNVHSMEGDAWgBTJN/SYhJwjwZbTpFuapA8rFyyQvDAdBgNVHQ4EFgQUyTf0mIScI8GW06RbmqQPKxcskLwwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAFD28Nl4kdeC54BI7IKtCIflTbFmMRykTEvJsPN6t566FxjKSim4KzJ+aPXz5DNx7bLXBaFePpOYUhnX6ritZv53Y9MqWjon9L48T2LGbtU8wd7+CWvkjx6r37RGOLUAblfj8Av2lt0wwAusy1AtJtYJf3cvxRRLnUgmoEXh19u0LbhB0NXsPUEvjs1UuFTq00/KJq/609R73IjzaStWgBXvEDRVJvAhwqlH+xw/5wo+aCcIpdES9kFUsVFp9iEMIDBjzQiOm39nIpjUr5irrtiO469yfarwP4JgBXGUP+DoWeB+fYQgK0RG/6WN1AZlO+lcChR7k83QeIAnPg698DQNiVMdpXKQKAM+7ri24mtWJOJXAoaA4bhPoUL17kys7/m//n9cjlsc4iH+bLSnzUpronznGgMu6XfFFgAhZsYKLVNGCFwuc2Gc7y/Luj5aXh3C1PEvN/SDNhe0j2q2z0FSpT/NMja/KXydTF4B3j0/eVmAbUP3WXWC11LoUQDo9A9hqejoUu+fc7KXob/iDztnpweabNvrMCvYPsiGfiuUPgI5+nxDCH9BuxHHUhFLF5/QMPKsvyZekaxMDxlWLs7RJeK4f4pGTbOTTnwwcQ791IcgNR2bYOku7nxefQXOs2Z3xFETBfoNkVGiIVf5AyXigVKFyBXIfCOK9RHJMVEq-----END CERTIFICATE-----" = `-----BEGIN CERTIFICATE-----MIIFMzCCAxugAwIBAgICHhkwDQYJKoZIhvcNAQELBQAwKjELMAkGA1UEBhMCRkkxGzAZBgNVBAMTEk9QLVBvaGpvbGEgUm9vdCBDQTAeFw0xMjA2MDcwODQyNDJaFw00MTA2MDcwODQyNDJaMCoxCzAJBgNVBAYTAkZJMRswGQYDVQQDExJPUC1Qb2hqb2xhIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCdFCgwifVV/XdLNmuIAUox7H3RZOyWotq3HUyGWCX/T337wfrbAQWXSa8C4z2Adr0O3P0qMEFRBKt2p4zupD4bkzR1p8tn/K2Y+TVf/ZAjpk3S1/7KZT8DqRCnlb2IuUCeO0OaC0gkXIqkeeoogHhYYdQwI0qai2qk8N3jgTlOXqAHceg+yO0h58VIcCaASfR9zIclmYLKg2pFPoC22+2QlCgSg4M1ceoiie48Nzk+BYA1Qm1TGjox9BGakiSq+pF+6GC+QBjMlnd8rz8lAPqZ7eoukLanOZxo97bG1nIsEyrDTBT+hdkJj4VG+m0Q8oLtBfzadekMdWwjHgRWYcQHrlI5WxTgAT5iDdGMrg05cM8poxy09HoFBKHS1fgaFVddr7MFqZcuz/kyaQevjnsfPXkI3eDqhxnLbRjHrnqBWX7ELyLgcEjX4syTteKp8aAeYdvN8U8AMJ/q56Guob5g/RlDfBXO9aoSyR3bPh6m8sGNgfB38NDKpO6NZK04vLvK3hF0NhWdLqr+ccs1slaWPR2mK0+19o7EjObWGPBxCs17jkd2OV7iXQwt1gaNcIhDDjpH4MdR4FZla64vfuMh1lsVtqi0goCuS6p4aH7VIhjTNVPlQulLgFj2e41z3DmpCo/gfZ65QDYYVzFZmCQFfaeoyfZ6SK/jVjUEthSC8wIDAQABo2MwYTAfBgNVHSMEGDAWgBTJN/SYhJwjwZbTpFuapA8rFyyQvDAdBgNVHQ4EFgQUyTf0mIScI8GW06RbmqQPKxcskLwwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAFD28Nl4kdeC54BI7IKtCIflTbFmMRykTEvJsPN6t566FxjKSim4KzJ+aPXz5DNx7bLXBaFePpOYUhnX6ritZv53Y9MqWjon9L48T2LGbtU8wd7+CWvkjx6r37RGOLUAblfj8Av2lt0wwAusy1AtJtYJf3cvxRRLnUgmoEXh19u0LbhB0NXsPUEvjs1UuFTq00/KJq/609R73IjzaStWgBXvEDRVJvAhwqlH+xw/5wo+aCcIpdES9kFUsVFp9iEMIDBjzQiOm39nIpjUr5irrtiO469yfarwP4JgBXGUP+DoWeB+fYQgK0RG/6WN1AZlO+lcChR7k83QeIAnPg698DQNiVMdpXKQKAM+7ri24mtWJOJXAoaA4bhPoUL17kys7/m//n9cjlsc4iH+bLSnzUpronznGgMu6XfFFgAhZsYKLVNGCFwuc2Gc7y/Luj5aXh3C1PEvN/SDNhe0j2q2z0FSpT/NMja/KXydTF4B3j0/eVmAbUP3WXWC11LoUQDo9A9hqejoUu+fc7KXob/iDztnpweabNvrMCvYPsiGfiuUPgI5+nxDCH9BuxHHUhFLF5/QMPKsvyZekaxMDxlWLs7RJeK4f4pGTbOTTnwwcQ791IcgNR2bYOku7nxefQXOs2Z3xFETBfoNkVGiIVf5AyXigVKFyBXIfCOK9RHJMVEq-----END CERTIFICATE-----`
Const OPPohjolaTest
OPPohjolaTest: "-----BEGIN CERTIFICATE-----MIIFPTCCAyWgAwIBAgICOsswDQYJKoZIhvcNAQELBQAwLzELMAkGA1UEBhMCRkkxIDAeBgNVBAMTF1RFU1QgT1AtUG9oam9sYSBSb290IENBMB4XDTEyMDUzMDEyMzkwN1oXDTQxMDUyODEyMzkwN1owLzELMAkGA1UEBhMCRkkxIDAeBgNVBAMTF1RFU1QgT1AtUG9oam9sYSBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA8R0TWGkl4v27f9a3ofltWhj5iNOglG0HGLoidcK6eCeqtr82OTXd7oHjIptzV9xBIQTjpBQ/ONdJfLHhs1c1f6cqYizATsssq0XygA8o4K8Mi1KAXDsyOjgNIU8bWN/Q3nloVoE83JdUhnPWRdMjCdebcIFj8TNgLnQFI8xTue76a+Hesvy91v2Og6kUimVayw3RJmRdwxR21d4zk4veRYZji0QbcbZUtMZhvYlm78H0298EfmmockLjIve+w4xWAgzPxfujP7+EBg67ds36GPE/Q8/AZ0gZUbQsZ/TDLeJ0ceLt8woTP4dykuQQXmfGfo6XFWg8HiEVu2EW5fW0K8FIGuawdJ7rOcRRbBGDxJ8uu5hJnx5oUyhgLNo7mferiMPMttgyuJIvg5nt+eqJ/PAqIxKoDFbS7kn7pqWv6QZFP1dVyWaWQfqBkcJ9iJQeDmqOLnQKopPoJ0L005PahWDfVErU/0YNVDC25eFtJELVPP/OjJ8Cqf9bFVDNAh6FoZ0U79AICDT7DGY7y6VFEdqy7jgruyHYnaSe7VXY99iIlGgWRTWu7GjBuypePonM4aJyNe9GE4dNmqI4n7PLZmp9J+lzvdSKLDxaeLs6JXuethJyMhpERK44f/MCECHOEDydnhuZcga84ODUnL9XAIXPdqkE58bU4XsjmBjwTrUCAwEAAaNjMGEwHwYDVR0jBBgwFoAUlCV4xztSGifv03DLZp5uZNNN1KkwHQYDVR0OBBYEFJQleMc7Uhon79Nwy2aebmTTTdSpMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQC3aXtV2qWzW4+U+kuXcMbfA0BcASepywraPF+Nm9YSecKogvbEp59xw9xVbm/BQ3jxh55syv2zf17QOGObf9dzzHMyOxNczaxEBQhABsuK/XBF1DKaZawj68o9xvdPuC3XUT/5XxrMSy2ftpPxQ6mC9iPnbHU+01yBCE/MF2eLjiI8iEqmCGJkrar4HmcworvDfVswuT5IJdj6Dh206pcYZAhN7b6+Wa4BbvHB3kEGkB8j47sDVbd/eY8OWFLYfED+g1J3Q54XeN1hSKGLgMMLQpCullEM6es5Uj0O5gQyG8PSh0p0Ja0Gk21aKZoCYoxuAHgdJjmH5C1iLBINd8asBH7EUHLTJ0MhG1eQe23Zx9ez4QenKmStqI0zUuzV8FsDtphu9StxJ2CEYNRduqfam78JvwUHxByEfaSaIHgfglHcWoI5ZohqcsCDmNXvSneaKF2ZLuAZ8IGr9a2AOmTQpQv36kyc6Uh0koUTeK+9KfPYHBJI0zUNrZA5S3tGo/SjS+g5NrQVbLuLVIil6uAOoiUUWzNcqhT3qrjf3Um8NBtqmNX6rQomeE+3QSh5az0e9+Gpkhg+bcDLhL/dV8yRgids7DnnEvuyEmb9UqSDnMti0N3AQELSZ1HF9EUMIFMQ03hc97g/AI8Aq6O+pNMtBn4zT16EQ31zPxMJGp3mDg==-----END CERTIFICATE-----" = `-----BEGIN CERTIFICATE-----MIIFPTCCAyWgAwIBAgICOsswDQYJKoZIhvcNAQELBQAwLzELMAkGA1UEBhMCRkkxIDAeBgNVBAMTF1RFU1QgT1AtUG9oam9sYSBSb290IENBMB4XDTEyMDUzMDEyMzkwN1oXDTQxMDUyODEyMzkwN1owLzELMAkGA1UEBhMCRkkxIDAeBgNVBAMTF1RFU1QgT1AtUG9oam9sYSBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA8R0TWGkl4v27f9a3ofltWhj5iNOglG0HGLoidcK6eCeqtr82OTXd7oHjIptzV9xBIQTjpBQ/ONdJfLHhs1c1f6cqYizATsssq0XygA8o4K8Mi1KAXDsyOjgNIU8bWN/Q3nloVoE83JdUhnPWRdMjCdebcIFj8TNgLnQFI8xTue76a+Hesvy91v2Og6kUimVayw3RJmRdwxR21d4zk4veRYZji0QbcbZUtMZhvYlm78H0298EfmmockLjIve+w4xWAgzPxfujP7+EBg67ds36GPE/Q8/AZ0gZUbQsZ/TDLeJ0ceLt8woTP4dykuQQXmfGfo6XFWg8HiEVu2EW5fW0K8FIGuawdJ7rOcRRbBGDxJ8uu5hJnx5oUyhgLNo7mferiMPMttgyuJIvg5nt+eqJ/PAqIxKoDFbS7kn7pqWv6QZFP1dVyWaWQfqBkcJ9iJQeDmqOLnQKopPoJ0L005PahWDfVErU/0YNVDC25eFtJELVPP/OjJ8Cqf9bFVDNAh6FoZ0U79AICDT7DGY7y6VFEdqy7jgruyHYnaSe7VXY99iIlGgWRTWu7GjBuypePonM4aJyNe9GE4dNmqI4n7PLZmp9J+lzvdSKLDxaeLs6JXuethJyMhpERK44f/MCECHOEDydnhuZcga84ODUnL9XAIXPdqkE58bU4XsjmBjwTrUCAwEAAaNjMGEwHwYDVR0jBBgwFoAUlCV4xztSGifv03DLZp5uZNNN1KkwHQYDVR0OBBYEFJQleMc7Uhon79Nwy2aebmTTTdSpMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQC3aXtV2qWzW4+U+kuXcMbfA0BcASepywraPF+Nm9YSecKogvbEp59xw9xVbm/BQ3jxh55syv2zf17QOGObf9dzzHMyOxNczaxEBQhABsuK/XBF1DKaZawj68o9xvdPuC3XUT/5XxrMSy2ftpPxQ6mC9iPnbHU+01yBCE/MF2eLjiI8iEqmCGJkrar4HmcworvDfVswuT5IJdj6Dh206pcYZAhN7b6+Wa4BbvHB3kEGkB8j47sDVbd/eY8OWFLYfED+g1J3Q54XeN1hSKGLgMMLQpCullEM6es5Uj0O5gQyG8PSh0p0Ja0Gk21aKZoCYoxuAHgdJjmH5C1iLBINd8asBH7EUHLTJ0MhG1eQe23Zx9ez4QenKmStqI0zUuzV8FsDtphu9StxJ2CEYNRduqfam78JvwUHxByEfaSaIHgfglHcWoI5ZohqcsCDmNXvSneaKF2ZLuAZ8IGr9a2AOmTQpQv36kyc6Uh0koUTeK+9KfPYHBJI0zUNrZA5S3tGo/SjS+g5NrQVbLuLVIil6uAOoiUUWzNcqhT3qrjf3Um8NBtqmNX6rQomeE+3QSh5az0e9+Gpkhg+bcDLhL/dV8yRgids7DnnEvuyEmb9UqSDnMti0N3AQELSZ1HF9EUMIFMQ03hc97g/AI8Aq6O+pNMtBn4zT16EQ31zPxMJGp3mDg==-----END CERTIFICATE-----`
Const VERSION_STRING
VERSION_STRING: "pankkiyhteys v0.10" = "pankkiyhteys v0.10"
Const WSS_B64BINARY
WSS_B64BINARY: "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
Const WSS_X509V3
WSS_X509V3: "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
Functions
X509ToCertificate
X509ToCertificate( data: string ) : Certificate
Parameters
Returns Certificate
generateSigningRequest
generateSigningRequest( privateKeyPem: string , commonName: string , countryName: string ) : string
Parameters
privateKeyPem: string
commonName: string
countryName: string
Returns string
base der formatted csr.
getSignatureReferences
getSignatureReferences( signature: any ) : any []
getSoapCertificate
getSoapCertificate( signature: any ) : Certificate
Parameters
Returns Certificate
getSoapSignature
getSoapSignature( document: any ) : any
isElementSigned
isElementSigned( element: any , signature: any ) : boolean
Parameters
element: any
signature: any
Returns boolean
isRootElement
isRootElement( element: any ) : boolean
Parameters
Returns boolean
parseApplicationResponse
parseApplicationResponse( response: XMLElement , preprocess?: ParsePreprocess ) : Promise < any >
Parameters
Returns Promise < any >
sign
sign( xml: string , key: Key , references: string [] , keyInfoOrOptions?: string | SignOptions , options?: SignOptions ) : string
Parameters
xml: string
references: string []
Optional keyInfoOrOptions: string | SignOptions
Optional options: SignOptions
Returns string
signed xml string
verifyApplicationRequestSignature
verifyApplicationRequestSignature( xml: string , document: any , trustStore: TrustStore , noLoading?: boolean ) : Promise < boolean >
Parameters
xml: string
document: any
Default value noLoading: boolean = false
Returns Promise < boolean >
verifySignature
verifySignature( xml: string , signature: XMLElement , key: Certificate ) : boolean
Parameters
xml: string
signature: XMLElement
key: Certificate
Returns boolean
Object literals
Const namespaces
namespaces: object
dsig
dsig: string = "http://www.w3.org/2000/09/xmldsig#"
soap
soap: string = "http://schemas.xmlsoap.org/soap/envelope/"
wsse
wsse: string = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
wsu
wsu: string = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
Legend
Module
Object literal
Variable
Function
Function with type parameter
Index signature
Type alias
Enumeration
Enumeration member
Property
Method
Interface
Interface with type parameter
Constructor
Property
Method
Index signature
Class
Class with type parameter
Constructor
Property
Method
Accessor
Index signature
Inherited constructor
Inherited property
Inherited method
Inherited accessor
Protected property
Protected method
Protected accessor
Private property
Private method
Private accessor
Static property
Static method
Pem encoded string containing X509 key.