【Jetbrains License Server】在线域名服务激活原理 - 非激活码

逛了一圈,大家都是用激活码 激活的,没有找到一个是用域名服务激活的(如果有,请指正我),所以找了一圈,搞个在激活的玩玩

前置要求

  • ja-netfilter
  • 自签一张证书 IssuerjetProfile CA ,Subject随便 的证书 A
  • 自签一张证书 IssuerLicense Servers CA ,SubjectServerUid.lsrv.jetbrains.com 的证书 B
  • 上面的 ServerUid 非常关键

在线激活访问的 url 是

https://jetbra.in/rpc/obtainTicket.action?machineId=b4225b32-fb29-4635-bcef-9ec76dddbc63&salt=1715425803562&userName=sparkles&buildNumber=2023.2.3+Build+PS-232.10072.32&clientVersion=14&hostName=Mac.local&&productCode=PMATERIALUI&productFamilyId=PMATERIALUI&salt=1715425804780&secure=false

响应内容

<!--  SHA1withRSA-{下面 xml 主体内容的签名 }-{证书 B }  -->
<ObtainTicketResponse>
<action>NONE</action>
<confirmationStamp>{时间戳}:{客户端提交的machineId}:SHA1withRSA:{对({时间戳}:{客户端提交的machineId})的签名 的}:{证书 B}</confirmationStamp>
<leaseSignature>SHA512withRSA-{对下面「serverLease」的值进行签名}-{证书 A}</leaseSignature>
<message/>
<prolongationPeriod>63462000</prolongationPeriod>
<responseCode>OK</responseCode>
<salt>{客户端的salt}</salt>
<serverLease>4689898213000:{ServerUid}</serverLease>
<serverUid>{ServerUid}</serverUid>
<ticketId>20</ticketId>
<ticketProperties>licensee=sparkles flam licenseType=5</ticketProperties>
<validationDeadlinePeriod>-1</validationDeadlinePeriod>
<validationPeriod>71829000</validationPeriod>
</ObtainTicketResponse>

好了这样就可以了 是不是非常简单

自签证书可以看我上一篇 golang 生成证书

下一篇就是 用 go 语言实现上面的代码

46 个赞

搞出来了这是

6 个赞

:+1:t2:

3 个赞

是的 生了生了 :rofl:

3 个赞

好几个接口,最好都实现一下

2 个赞

大佬

3 个赞

主要接口是这个,但我看其他/rpc/ping.action /rpc/releaseTicket.action 不实现也不影响

2 个赞

我是菜菜

2 个赞

大佬

2 个赞

我的站都实现了,可以试试:smiley_cat:

2 个赞

老哥,发一下地址看看

2 个赞

看我帖子
https://linux.do/t/topic/30480

1 个赞

「此用户的公开个人资料已被隐藏。」
。。。。。

糟糕!该页面是一个不公开页面。

你等级不够,https://jbls.ide-soft.com

1 个赞

我就说我记着有个佬很久之前就实现了你咋说没找到
你是一级,他放2级了,快去升级

1 个赞

佬,顶级膜拜

厉害了。坐等

1 个赞

Mark 感谢分享


为什么我总是提示这个, 等级是足够的,有时候多刷新几次才能进去
上面的地址是https://connect.linux.do/oauth2/approve/{xxx}