refactor: sign.js PROCESS_RECIPIENT

This commit is contained in:
Filip Skokan 2020-08-05 11:46:53 +02:00
parent ce6836af88
commit e0a2d57926

View file

@ -87,26 +87,21 @@ class Sign {
recipient.header = unprotectedHeader recipient.header = unprotectedHeader
recipient.protected = Object.keys(joseHeader.protected).length ? base64url.JSON.encode(joseHeader.protected) : '' recipient.protected = Object.keys(joseHeader.protected).length ? base64url.JSON.encode(joseHeader.protected) : ''
let toBeSigned if (first && joseHeader.protected.crit && joseHeader.protected.crit.includes('b64') && joseHeader.protected.b64 === false) {
if (joseHeader.protected.crit && joseHeader.protected.crit.includes('b64')) { if (this._binary) {
if (first && !joseHeader.protected.b64) { this._payload = base64url.decodeToBuffer(this._payload)
if (this._binary) { } else {
this._payload = base64url.decodeToBuffer(this._payload) this._payload = base64url.decode(this._payload)
} else {
this._payload = base64url.decode(this._payload)
}
} }
toBeSigned = Buffer.concat([
Buffer.from(recipient.protected || ''),
Buffer.from('.'),
Buffer.isBuffer(this._payload) ? this._payload : Buffer.from(this._payload)
])
} else {
toBeSigned = `${recipient.protected || ''}.${this._payload}`
} }
recipient.signature = base64url.encodeBuffer(sign(alg, key, toBeSigned)) const data = Buffer.concat([
Buffer.from(recipient.protected || ''),
Buffer.from('.'),
Buffer.from(this._payload)
])
recipient.signature = base64url.encodeBuffer(sign(alg, key, data))
} }
/* /*