blog/_posts/2022-12-26-i2p-ssl.md

4.8 KiB
Raw Blame History

layout title tags
post 为自己的i2p站点添加一个SSL证书
SSL
i2p
隐私
网络

虽然没啥用,不过很有意思所以还是整一个!

起因

在上个月,我用i2pdtor在两个不同的匿名网络上试着建了网站不过因为这些网络的特性他们不需要使用HTTPS访问就能保证内容不被窃取和篡改。不过SSL证书的意义不止这些还有一个很重要的意义是验证网站身份比如Facebook就有一个被信任的EV SSL证书它的意义就是在保证其他人也偷偷算了一个facebook开头的域名家用电脑大概花1天左右的时间就能算出来时能很轻易的知道这个网站是不是真的Facebook的网站因为EV SSL证书的审核很严格基本上没办法去伪造一个相同公司的。Onion的DV SSL我查了一下普通人倒是也能整有家叫HARICA的证书商家每年花30EUR就可以在上面买一个。不过我嘛……肯定是不愿意花钱的所以就打消了整Onion的证书的想法。

探索I2P的SSL证书

那i2p域名呢因为Tor有一定的政府背景而且有大公司撑腰所以受到了那些管理互联网的组织的承认才会被允许注册可信的SSL证书。而i2p怎么说还是一个比较小的项目虽然它可能是除了Tor外第二大的匿名路由网络不是Freenet之类的共享内容的网络那种东西没法交互不过没有靠山就不会被那些管理互联网的组织所承认也就不可能允许注册可信的SSL证书……那难道就没有办法了吗作为社区动力的项目什么政府啊还是什么标准化的组织都是没用的东西不被承认可以自己承认正好我在逛i2p那些网站的时候看到了一个由i2pd的开发团队PurpleI2P所维护的一个CA从这个CA签名的证书虽然也只是自签名的但是他们开发的浏览器I2PdBrowser内嵌了这个CA证书所以也可以看作是可信的证书了至少在这个浏览器上是。具体的申请方法很简单网站上都有说给作者发邮件申请就行了至于怎么用普通的邮箱给mail.i2p发邮件……只要把它替换成官方网关i2pmail.org就可以了。
虽然证书很容易申请但是申请下来的证书部署到网站上之后怎么才能被访问那还是挺麻烦的。因为网络上完全没有相关的教程毕竟i2p用的人就少i2pd更少用i2pd还整SSL证书的人可能全世界一只手都数得过来😂。这没办法我只能先看着i2pd的文档先自己琢磨结果怎么整效果都不对……没办法就只好问作者了他回复的原文如下

It must be added like current tunnel for HTTP with same key. Example with HTTP and HTTPS:

[website]
type = http
host = 127.0.0.1
port = 8080
inport = 80
inbound.length = 2
outbound.length = 2
inbound.quantity = 3
outbound.quantity = 3
gzip = false
keys = website.dat

[website-SSL]
type = server
host = 127.0.0.1
port = 8443
inport = 443
keys = website.dat

Note that I use same key file both for HTTP and HTTPS tunnel, and HTTPS (443 port) using type server, because i2pd mustn't interact with encrypted by SSL data.
Also, you can skip the i2cp options in the second tunnel, because they apply to all tunnels with the same key. The main thing is to write them only in the first tunnel.

这下我总算搞明白我之前配置的问题出在哪了😂它文档里写的关于inport的说明是“what port at local destination server tunnel listens to. Same as port by default”我看到它说的“local destination”以为是隧道访问的那个端口结果是面向隐形网络的端口……怪不得我配置之后返回的证书老是443端口的证书……而且http隧道文档里也没有说到关于inport的参数啊还有那个莫名其妙的ssl参数……这文档写的真是有点不太行……
按照邮件说明配置好之后总算可以正常访问了试了一下用I2PdBrowser访问我的网站终于出现了代表加密的小锁。

感想

不过他们对生成证书的要求实在是不严格我不需要证明任何东西就能获得任意i2p网站的SSL证书当然也起不到验证网站身份的功能不过由于这个网络的特点也没办法中间人攻击而且本来用的人就少估计他们也是当玩吧😂,所以也没有认真搞。另外其实那个域名系统也一样,注册也很随便……
不过搞的过程还是挺有意思的,如果有谁有兴趣也可以搞一个玩玩。