Skip to content

Commit a218c2f

Browse files
committed
Fix JavaDoc of FidoMetadataDownloader URL config incorrectly stating HTTPS is required
1 parent ed1f50b commit a218c2f

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

NEWS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ Fixes:
1818

1919
`webauthn-server-attestation`:
2020

21+
Changes:
22+
23+
* `FidoMetadataDownloader` builder method `.downloadBlob(URL)` now logs a
24+
warning if the given URL is not an HTTPS URL. Javadoc relaxed to not describe
25+
HTTPS as required since this was never enforced.
26+
2127
New features:
2228

2329
* Added `AuthenticatorStatus.RETIRED` and `Filters.notRetired()`.

webauthn-server-attestation/src/main/java/com/yubico/fido/metadata/FidoMetadataDownloader.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -424,17 +424,24 @@ public Step5 useDefaultBlob() {
424424
}
425425

426426
/**
427-
* Download the metadata BLOB from the given HTTPS <code>url</code>.
427+
* Download the metadata BLOB from the given HTTP or HTTPS <code>url</code>.
428428
*
429429
* <p>The BLOB will be downloaded if it does not exist in the cache, or if the <code>
430430
* nextUpdate</code> property of the cached BLOB is the current date or earlier.
431431
*
432432
* <p>If the BLOB is downloaded, it is also written to the cache {@link File} or {@link
433433
* Consumer} configured in the next step.
434434
*
435-
* @param url the HTTP URL to download. It MUST use the <code>https:</code> scheme.
435+
* <p>It is RECOMMENDED to use a HTTPS URL for improved transport security. Most notably this
436+
* helps prevent attacks that could force the application to continue using a stale cached
437+
* BLOB even after the real MDS has a newer BLOB available.
438+
*
439+
* @param url the HTTP or HTTPS URL to download.
436440
*/
437441
public Step5 downloadBlob(@NonNull URL url) {
442+
if (!"https".equals(url.getProtocol())) {
443+
log.warn("FIDO MDS BLOB download URL is not a HTTPS URL: {}", url);
444+
}
438445
return new Step5(this, null, url);
439446
}
440447

0 commit comments

Comments
 (0)