<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Bitwarden on 浅忆博客</title>
    <link>https://blog.curlc.com/tags/bitwarden/</link>
    <description>Recent content in Bitwarden on 浅忆博客</description>
    <image>
      <title>浅忆博客</title>
      <url>https://blog.curlc.com/images/papermod-cover.png</url>
      <link>https://blog.curlc.com/images/papermod-cover.png</link>
    </image>
    <generator>Hugo</generator>
    <language>zh</language>
    <copyright>黔ICP备15002488号</copyright>
    <lastBuildDate>Sun, 16 Aug 2026 07:41:35 +0000</lastBuildDate>
    <atom:link href="https://blog.curlc.com/tags/bitwarden/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Android使用Bitwarden出现[通行密钥登录出现由于资源链接缺失，通行密钥操作失败]</title>
      <link>https://blog.curlc.com/android-bitwarden-passkey-resource-link-error/</link>
      <pubDate>Sun, 16 Aug 2026 07:41:35 +0000</pubDate>
      <guid>https://blog.curlc.com/android-bitwarden-passkey-resource-link-error/</guid>
      <description>&lt;h2 id=&#34;解决方法&#34;&gt;解决方法&lt;/h2&gt;
&lt;p&gt;问题在于使用&lt;strong&gt;通行密钥&lt;/strong&gt;会访问 &lt;code&gt;digitalassetlinks.googleapis.com&lt;/code&gt; ，由于众所周知的原因访问不了，所以针对该域名特殊处理即可。&lt;/p&gt;
&lt;h2 id=&#34;排查&#34;&gt;排查&lt;/h2&gt;
&lt;p&gt;在 &lt;strong&gt;设置-关于-Flight Recorder&lt;/strong&gt; 开启日志记录，然后重复操作一次，即可看到错误日志，如下:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Bitwarden Android - Password Manager
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Log Start Time: 2026-08-16 15:05:00:874
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Log Duration: 1h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;App Version: 2026.7.1 (21803)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Build: release/standard
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;SDK Version: 🦀 3.0.0-7926-a9b0e184
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;CI Build Info: 🧱 commit: bitwarden/android/release/2026.7-rc59@abb9ddedcca453d07c2b5f27599774590b556aa1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;💻 build source: bitwarden/android/actions/runs/30475765167/attempts/1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Device: &amp;lt;!-- 敏感信息脱敏 --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🌩 Server: Vaultwarden 2025.12.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Fingerprint: &amp;lt;!-- 敏感信息脱敏 --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:00:876 – DEBUG – na8 – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:00:876 – DEBUG – na8 – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:00:910 – DEBUG – na8 – VaultUnlockedNavBarScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.settings.about.SettingsAboutRoute.Standard in com.x8bit.bitwarden.ui.platform.feature.settings.SettingsGraphRoute
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:05:918 – DEBUG – AppStateManagerImpl$AppForegroundObserver – App is backgrounded
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:15:926 – DEBUG – BitwardenCredentialProviderService – Get credential request received.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:16:024 – DEBUG – zp – Credentials retrieved.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:17:899 – DEBUG – AppStateManagerImpl$AppForegroundObserver – App is foregrounded
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:17:942 – DEBUG – na8 – MainActivity destination changed: com.x8bit.bitwarden.ui.platform.feature.overlaynav.OverlayNavRoute
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:17:945 – DEBUG – na8 – OverlayNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.rootnav.RootNavigationRoute
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:17:958 – DEBUG – na8 – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.splash.SplashRoute
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:17:969 – DEBUG – na8 – RootNavScreen destination changed: com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VaultUnlockedNavbarRoute in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:17:969 – DEBUG – na8 – RootNavScreen destination changed: nkb/{encodedData} in com.x8bit.bitwarden.ui.platform.feature.vaultunlocked.VaultUnlockedGraphRoute
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:18:029 – DEBUG – BitwardenNetworkClient – --&amp;gt; GET https://digitalassetlinks.googleapis.com/v1/assetlinks:check?source.web.site=https%3A%2F%2Fx.com&amp;amp;target.androidApp.packageName=com.twitter.android&amp;amp;target.androidApp.certificate.sha256Fingerprint=0F%3AD9%3AA0%3ACF%3AB0%3A7B%3A65%3A95%3A09%3A97%3AB4%3AEA%3AEB%3ADC%3A53%3A93%3A13%3A92%3A39%3A1A%3AA4%3A06%3A53%3A8A%3A3B%3A04%3A07%3A3B%3AC2%3ACE%3A2F%3AE9&amp;amp;relation=delegate_permission%2Fcommon.handle_all_urls
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:31:801 – DEBUG – BitwardenNetworkClient – &amp;lt;-- HTTP FAILED: java.net.SocketTimeoutException: failed to connect to digitalassetlinks.googleapis.com/2001:4860:4841:400:: (port 443) from /2409:8a4c:1437:2610:a383:6e84:e065:bedb (port 45046) after 10000ms. https://digitalassetlinks.googleapis.com/v1/assetlinks:check?source.web.site=https%3A%2F%2Fx.com&amp;amp;target.androidApp.packageName=com.twitter.android&amp;amp;target.androidApp.certificate.sha256Fingerprint=0F%3AD9%3AA0%3ACF%3AB0%3A7B%3A65%3A95%3A09%3A97%3AB4%3AEA%3AEB%3ADC%3A53%3A93%3A13%3A92%3A39%3A1A%3AA4%3A06%3A53%3A8A%3A3B%3A04%3A07%3A3B%3AC2%3ACE%3A2F%3AE9&amp;amp;relation=delegate_permission%2Fcommon.handle_all_urls (13770ms)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:31:803 – ERROR – y17 – Failed to validate origin for calling app
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2026-08-16 15:05:31:802 – WARNING – NetworkResultCall – Network Error: https://digitalassetlinks.googleapis.com/v1/assetlinks:check
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;java.net.SocketTimeoutException: failed to connect to digitalassetlinks.googleapis.com/2001:4860:4841:400:: (port 443) from /2409:8a4c:1437:2610:a383:6e84:e065:bedb (port 45046) after 10000ms
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at libcore.io.IoBridge.connectErrno(IoBridge.java:235)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at libcore.io.IoBridge.connect(IoBridge.java:179)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at java.net.Socket.connect(Socket.java:646)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at j42.i(r8-map-id-81236816c7d695090efc20c3e1e0abc52588eeba88d7fb10b6fa8a6e53f07ad6:77)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at j42.d(r8-map-id-81236816c7d695090efc20c3e1e0abc52588eeba88d7fb10b6fa8a6e53f07ad6:38)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at ok3.a(r8-map-id-81236816c7d695090efc20c3e1e0abc52588eeba88d7fb10b6fa8a6e53f07ad6:3)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at va.a(r8-map-id-81236816c7d695090efc20c3e1e0abc52588eeba88d7fb10b6fa8a6e53f07ad6:67)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at va.run(r8-map-id-81236816c7d695090efc20c3e1e0abc52588eeba88d7fb10b6fa8a6e53f07ad6:204)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	at java.lang.Thread.run(Thread.java:1012)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
