Skip to content

Commit f72e658

Browse files
committed
feat(verification): add opts.pickAlgorithm
1 parent cae12c7 commit f72e658

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

Diff for: index.js

+7-5
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,13 @@ function checkData (data, sri, opts) {
125125
fullSri[sri.algorithm] = [sri]
126126
sri = fullSri
127127
}
128+
const pickAlgorithm = opts.pickAlgorithm || getPrioritizedHash
128129
const algorithm = Object.keys(sri).reduce((acc, algo) => {
129-
return getPrioritizedHashFunction(acc, algo) || acc
130+
return pickAlgorithm(acc, algo) || acc
130131
})
131132
const digests = sri[algorithm].map(m => m.digest)
132133
const digest = crypto.createHash(algorithm).update(data).digest('base64')
133-
return digests.some(d => d === digest)
134+
return digests.some(d => d === digest) && algorithm
134135
}
135136

136137
module.exports.checkStream = checkStream
@@ -158,8 +159,9 @@ function createCheckerStream (sri, opts) {
158159
fullSri[sri.algorithm] = [sri]
159160
sri = fullSri
160161
}
162+
const pickAlgorithm = opts.pickAlgorithm || getPrioritizedHash
161163
const algorithm = Object.keys(sri).reduce((acc, algo) => {
162-
return getPrioritizedHashFunction(acc, algo) || acc
164+
return pickAlgorithm(acc, algo) || acc
163165
})
164166
const digests = sri[algorithm].map(m => m.digest)
165167
const hash = crypto.createHash(algorithm)
@@ -186,6 +188,6 @@ function createCheckerStream (sri, opts) {
186188
return stream
187189
}
188190

189-
function getPrioritizedHashFunction (algo1, algo2) {
190-
// Default implementaion is empty
191+
function getPrioritizedHash (algo1, algo2) {
192+
return algo1
191193
}

0 commit comments

Comments
 (0)