Package io.jans.fido2.service.readiness
Class ContentChecker
java.lang.Object
io.jans.fido2.service.readiness.ContentChecker
Compares a deployed
assetlinks.json / apple-app-site-association with what the RP
configuration says it should contain. Works on the body of a fetch already made, so it never fetches.
Every reason names only a configured value (package, fingerprint, TeamID.BundleID) or a count,
never deployed content and never parser text. Check ids and rules:
content.parse: FAIL when the body is empty, not valid JSON (this includes a CMS-signed AASA), too deeply nested, or not the expected top-level shape (array for assetlinks, object for AASA). Nothing else is reported for that file.content.android.package: per configured app, PASS if a statement lists the package, else FAIL. No Android apps configured: one PASS saying so, and the Android checks below are skipped.content.android.fingerprint: per configured app, FAIL for each configured fingerprint the file lacks (compared as case-insensitive hex, colons optional); WARN with a count if the file lists fingerprints that are not configured; PASS otherwise.content.android.relation: per configured app, FAIL unless a statement for the package carriesdelegate_permission/common.get_login_creds.content.ios.app: per configured iOS app, FAIL unlesswebcredentials.appscontainsTeamID.BundleID(case-insensitive). No iOS apps configured: one PASS saying so.content.drift: WARN with counts when the deployed file differs from the file Jans would generate (ExpectedAssociationFileBuilder), for example after a signing key rotation. Order, whitespace and unrelated extra content are ignored. Never a FAIL. Skipped when no apps are configured for the platform.content.ios.cdn: an informational WARN, always emitted for the Apple file whether the other checks pass or fail: iOS reads the file throughapp-site-association.cdn-apple.com, which caches aggressively, so a correct file may not take effect immediately. This class does not contact that CDN.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncheckAppleAppSiteAssociation(RequestedParty party, byte[] body) checkAssetLinks(RequestedParty party, byte[] body)
-
Constructor Details
-
ContentChecker
public ContentChecker()
-
-
Method Details
-
checkAssetLinks
-
checkAppleAppSiteAssociation
-