在 Codename One 上搭应用的一大半是银行和金融机构,他们不问「列表组件能不能更好看」,而问怎么过渗透测试、审计员想看什么、哪些防护在哪个设备上真的有效。Bastion 就是作者用代码给出的答案:一个虚拟银行加小型交易所,App 与服务端同一个 Java 项目,客户持有美元、欧元、比特币和以太坊,可以转账、发卡冻结、交易、向预先允许的地址提币,后台能核对账本与审计链。每项加固都写成可读的参考实现。
🔑 核心要点
加固清单:passkey、TOTP、签名请求、设备密钥、证书固定。
哈希链审计日志 + 复式记账,让审计员能追每笔钱的来路。
提币只允许预先加入白名单的地址,降低被钓鱼的损失面。
同一套 Java 代码出 iOS、Android、桌面和 Web。
💡 金句
“They don't ask me for a prettier list component. They ask how to pass a penetration test, what the auditor will want to see, and which protections actually work on which device.” 译:他们不要更漂亮的列表组件,他们问的是怎么过渗透测试、审计员想看到什么、哪些防护在哪个设备上真的有效。