<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>304388</bug_id>
          
          <creation_ts>2025-12-17 23:09:13 -0800</creation_ts>
          <short_desc>Digital Credentials: potentially broken with Annex C and ZKP on Safari</short_desc>
          <delta_ts>2026-07-20 18:44:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>MOVED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>268516</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Marcos Caceres">marcosc</reporter>
          <assigned_to name="Marcos Caceres">marcosc</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>zeuthen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2166860</commentid>
    <comment_count>0</comment_count>
    <who name="Marcos Caceres">marcosc</who>
    <bug_when>2025-12-17 23:09:13 -0800</bug_when>
    <thetext>It seems there is something broken with Annex C and ZKP on Safari

Quoting the Android Security team

&quot;you can repro in iOS by just going to verifier.multipaz.org, select Annex C as protocol, and hit the &quot;Age over 18 (ZKP)&quot; button&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2166861</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-12-17 23:10:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/166766151&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2166943</commentid>
    <comment_count>2</comment_count>
    <who name="David Zeuthen">zeuthen</who>
    <bug_when>2025-12-18 06:26:22 -0800</bug_when>
    <thetext>I did some more digging and this is another case of the root problem that if you set DeviceRequest version to 1.1 then Webkit bails unless `useCases` is set. This is a bug in WebKit because there is no requirement for the RP to set `useCases` even if version is set to 1.1

Because ZKP is a v1.1 feature, we set version of DeviceRequest to 1.1 on verifier.multipaz.org for the &quot;Age over 18 (ZKP)&quot; button but we don&apos;t set `useCases` because, well, it&apos;s not required. I have confirmed that if `useCases` is set on a DeviceRequest v1.1 request with ZKP, then things work fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2232229</commentid>
    <comment_count>3</comment_count>
    <who name="Marcos Caceres">marcosc</who>
    <bug_when>2026-07-20 18:44:21 -0700</bug_when>
    <thetext>Root cause understood (thanks, David): per comment 3, a DeviceRequest with version 1.1 is rejected unless `useCases` is set, even though `useCases` isn&apos;t required for v1.1. The relevant handling lives in platform code outside the open-source WebKit tree, so this is being tracked and addressed under rdar://166766151 rather than here. Closing on the WebKit side; the interop fix will ship via the platform.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>