(keyId: string, keys: EnvelopePrivateKeySlots)
| 112 | } |
| 113 | |
| 114 | function selectPrivateKey(keyId: string, keys: EnvelopePrivateKeySlots): EnvelopePrivateKeySlot { |
| 115 | const decryptSlot = keys.decrypt?.find(slot => slot.keyId === keyId); |
| 116 | if (keys.active.keyId === keyId) { |
| 117 | if (keys.active.privateKeyPem) return keys.active; |
| 118 | return decryptSlot ?? keys.active; |
| 119 | } |
| 120 | if (decryptSlot) { |
| 121 | return decryptSlot; |
| 122 | } |
| 123 | |
| 124 | throw new EncryptionFormatError(`Unknown keyed envelope key ID: ${keyId}`); |
| 125 | } |
| 126 | |
| 127 | function isEncryptedEnvelope(value: unknown): value is EncryptedEnvelope { |
| 128 | if (value === null || typeof value !== 'object') { |
no outgoing calls
no test coverage detected