跳到主要内容

云端签发与验票

商用模型包带「必须验票」标记时,打开前要持一张云端签出的票。本章说清票从哪来、谁签谁验、验不过会怎样。几条口径先钉死:

  • 签发在云端,客户端只验不签。 随 SDK 发出去的包里没有签发功能,加不了密也签不了发(见 常见问题)。
  • 签完即验。 出包即离线验票,验不过按签发失败处理,不产出坏包。
  • 打不开 = 票验不过。 模型包带「必须验票」标记时,无票或票无效一律打不开。
  • 票只在本次打开 / 探测用,不落盘、不留到下次。
  • 验票全程离线,不联网向云端求证。

流程​

登录 → 商用资格 → 云端签发 → 随包验票 → 离线推理。整条链现场那头不用联网:

步骤谁做做什么
登录出包方Darra 账号登录 Studio。登录是身份,不等于商用资格,两件事分别看(见 常见问题)
商用资格出包方加密签发属商业功能,账号查到商用授权才能签发;查不到一律按没有处理,不本地猜成有。详见 知识产权
云端签发云端出包时云端签出票。签发在云端,客户端只验不签
随包验票出包方签完即验:出包立刻离线验票,验不过按签发失败处理、清掉产物,绝不把验不过的包交给客户
离线推理现场带票打开模型,验过就推理。全程离线,断网照样跑

票是什么​

票的组成就三样,缺一样验票就过不了:

三样说明
票云端签出的票原文
签发证书票自带的签发证书,验票时在本机用,不回云端验
模型指纹要开的模型哈希(64 位小写十六进制)。必须照容器实算,不许拿票里自带那串顶替 —— 那等于让票自己给自己盖章

票绑死到这一个模型,换一个模型这张票不通用。票与签发证书里不含任何口令。各语言类型页里就是那个票类型(C# WrapTicket、C darmk_wrap_ticket),只做搬运。

打不开 = 票验不过​

模型包带「必须验票」标记时,开这个包必须验票:

  • 没带票:一律打不开,没有「先放行再说」这条路。
  • 票无效:同样打不开。缺票、票坏了、签发证书不被认可或已过期、票过期、票还没到生效时间、票绑的模型指纹跟要开的模型对不上,任何一项都按打不开处理,不降级、不绕过。
  • 失败按拒因点名(WrapTicketRejectReason,16 项),照拒因修;验不过报 DARRA_BAD_LICENSE,错误消息里带拒因名。拒因表见各语言 类型页。
  • 没置「必须验票」标记的包照旧,不受影响:密码 / 激活码对就开。

置了标记的包,首次绑机后照样要验票 —— 绑机不会把验票要求抹掉。

票只用一次​

  • 票随模型包一起交给现场,跟包走,不是每次上网取。
  • 每次打开 / 探测把票交进去,只在本次调用里用完即弃:不落盘、不留到下次。下次再开要重新带票。
  • 验票全程离线:票自带签发证书,本机对着认可的签发方核,不联网向云端求证。签完的票断网照样验、照样推理。这不是在线认证。

票怎么带进打开 / 探测​

票怎么交进打开 / 探测(有的语言作打开 / 探测的形参,有的在打开选项里),字段名与用法按语言看类型页:C / C++ / C# / Python / Java / Rust。探测和打开各带各的票,先探再开就带两次。