freeTSA.org 提供免費的時間戳簽發。在代碼或電子簽名中添加可信時間戳可以提供數據完整性電子簽章以及事務發生的可信時間。
$ openssl ts -query -data file.png -no_nonce -sha512 -cert -out file.tsq
將 TimeStampRequest 發送到 freeTSA.org 並接收一個 tsr(TimeStampResponse,時間戳響應)文件。
$ curl -H "Content-Type: application/timestamp-query" --data-binary '@file.tsq' https://freetsa.org/tsr > file.tsr
使用公開證書,您可以驗證 TimeStampRequest。
$ openssl ts -verify -in file.tsr -queryfile file.tsq -CAfile cacert.pem -untrusted tsa.crt
###########################################################
# 1. 創建 tsq 文件(SHA 512)
###########################################################
openssl ts -query -data file.png -no_nonce -sha512 -out file.tsq
# 選項 -cert:FreeTSA 需要在響應中包含其簽名證書(根證書+中間證書)。(可選)
# 如果tsq是用“-cert”選項創建的,那麼它的驗證不需要 "-untrusted" 。
#$ openssl ts -query -data file.png -no_nonce -sha512 -cert -out file.tsq
# 如何製作多個文件的時間戳?
# 要給多個文件加時間戳,請創建一個包含所有文件 SHA-512 散列的文本文件,並對其加時間戳。
# 或者,您可以將所有要加時間戳的文件打包到 zip/rar/img/tar 等文件中並加時間戳。
#生成一個包含 /var/log/ 下所有文件散列的文本文件
$ find /var/log/ -type f -exec sha512sum {} + > compilation.txt
###########################################################
# 2. cURL 時間戳請求輸入(HTTP / HTTPS)
###########################################################
# H在 cURL 中使用 HTTP 2.0:請獲取最新版 cURL 並運行此命令:curl --http2 。
curl -H "Content-Type: application/timestamp-query" --data-binary '@file.tsq' https://freetsa.org/tsr > file.tsr
# 使用 Tor 網絡。
#$ curl -k --socks5-hostname 127.0.0.1:9050 -H "Content-Type: application/timestamp-query" --data-binary '@file.tsq' https://4bvu5sj5xok272x6cjx4uurvsbsdigaxfmzqy3n3eita272vfopforqd.onion/tsr > file.tsr
# tsget 對於標記多個時間戳查詢請求非常有用:https://www.openssl.org/docs/manmaster/apps/tsget.html
#$ tsget -h https://freetsa.org/tsr file1.tsq file2.tsq file3.tsq
###########################################################
# 3. 驗證 tsq 文件
###########################################################
wget https://freetsa.org/files/tsa.crt
wget https://freetsa.org/files/cacert.pem
# 時間戳信息。
openssl ts -reply -in file.tsr -text
# 驗證(兩種不同的方式)。
# openssl ts -verify -data file -in file.tsr -CAfile cacert.pem -untrusted tsa.crt
openssl ts -verify -in file.tsr -queryfile file.tsq -CAfile cacert.pem -untrusted tsa.crt
# Verification: OK
$ perl client.pl freetsa.org 318 file client: tsq file: file.tsq client: tsr file: file.tsr client: [Connected to freetsa.org:318] client: client: transfer of the file.tsq to the server completed client: 40 file.tsq # 默認情況下,TSQ 文件要求在響應中提供證書鏈(根證書和中間證書)。 # 如果不想這樣做,必須將腳本的第16行更改為第15行。
$ curl --data "screenshot=https://www.fsf.org/&delay=n" https://freetsa.org/screenshot.php > screenshot.pdf $ curl --data "screenshot=https://www.fsf.org/&delay=y" https://freetsa.org/screenshot.php > screenshot.pdf # (I'm Feeling Lucky) ### 在 cURL 中使用 HTTP 2.0:請獲取最新版 cURL 並運行此命令:curl --http2 。 ### Tor 網絡的 REST API:增加 "-k --socks5-hostname localhost:9050" 。 # Tor網絡中的普通域名。 $ curl -k --socks5-hostname localhost:9050 --data "screenshot=https://www.fsf.org/&delay=y" https://4bvu5sj5xok272x6cjx4uurvsbsdigaxfmzqy3n3eita272vfopforqd.onion/screenshot.php > screenshot.pdf # 網上的 ".onion" 域名。 $ curl -k --data "screenshot=https://4bvu5sj5xok272x6cjx4uurvsbsdigaxfmzqy3n3eita272vfopforqd.onion/&delay=y&tor=y" https://freetsa.org/screenshot.php > screenshot.pdf # Tor 網絡中的 ".onion" 域名。 $ curl -k --socks5-hostname localhost:9050 --data "screenshot=https://4bvu5sj5xok272x6cjx4uurvsbsdigaxfmzqy3n3eita272vfopforqd.onion/&delay=y&tor=y" https://4bvu5sj5xok272x6cjx4uurvsbsdigaxfmzqy3n3eita272vfopforqd.onion/screenshot.php > screenshot.pdf
# Certificate files. openssl ocsp -sha512 -CAfile cacert.pem -issuer cacert.pem -cert tsa.crt -url http://freetsa.org:2560 -resp_text openssl ocsp -sha512 -CAfile cacert.pem -issuer cacert.pem -cert cacert.pem -url http://freetsa.org:2560 -resp_tex # Serial number. openssl ocsp -sha512 -CAfile cacert.pem -issuer cacert.pem -serial "0xC1E986160DA8E982" -url http://freetsa.org:2560 -resp_text openssl ocsp -sha512 -CAfile cacert.pem -issuer cacert.pem -serial "0xC1E986160DA8E980" -url http://freetsa.org:2560 -resp_text
$ wget http://www.freetsa.org/crl/root_ca.crl $ openssl crl -in root_ca.crl -noout -text
## 常規 DNS(端口 53)任何 freeTSA IP(IPv4 或 IPv6)都可為您提供常規 DNS 解析服務。 ## NTP 服務器:freetsa.org(IPv4 / IPv6) $ ntpdate freetsa.org ## Freetsa 在端口 853(IPv4/IPv6)上提供 DoT。Systemd 解析示例:/etc/systemd/resolved.conf DNS=2607:f130:0:f8::8198:f3f4#www.freetsa.org 2607:f130:0:f8::817e:69c7#www.freetsa.org 2607:f130:0:f8::ca3e:d470#www.freetsa.org 2607:f130:0:f8::8418:ec2d#www.freetsa.org 2607:f130:0:f8::2e57:96b#www.freetsa.org # 不要使用所有的接口,選擇一個或兩個,例如唯一的 IPv4 和其他一些你選擇的 IPv6。 ## 兩個 DNSCRYPT FreeTSA 服務器(無日誌、無 DNSSEC、無匿名 DNS 和不兼容匿名化(https://github.com/DNSCrypt/dnscrypt-proxy/issues/1251)) 公共服務器地址:[2607:f130:0:f8::8418:ec2d]:553 提供者公鑰:d8ffbb42e031be7a79730b45568d496a4e8acb59aa8366fd6ab91e272a7d16e4 提供者名稱:2.dnscrypt-cert.freetsa.org DNS 標識:sdns://AQcAAAAAAAAAH1syNjA3OmYxMzA6MDpmODo6MzA4NTplOTYxXTo1NTMg2P-7QuAxvnp5cwtFVo1Jak6Ky1mqg2b9arkeJyp9FuQbMi5kbnNjcnlwdC1jZXJ0LmZyZWV0c2Eub3Jn 公共服務器地址:142.171.183.141:553 提供者公鑰:d8ffbb42e031be7a79730b45568d496a4e8acb59aa8366fd6ab91e272a7d16e4 提供者名稱:2.dnscrypt-cert.freetsa.org DNS 標識:sdns://AQcAAAAAAAAAETE3My44Mi4xOC4yMzg6NTUzINj_u0LgMb56eXMLRVaNSWpOistZqoNm_Wq5HicqfRbkGzIuZG5zY3J5cHQtY2VydC5mcmVldHNhLm9yZw ## DNSCrypt 客戶端:https://github.com/DNSCrypt/dnscrypt-proxy
FreeTSA 桌面應用
創建一個鏈接到到 chromium/chrome 或 Firefox 應用,只需運行一個命令。
### Firefox # 需要激活 firefox 中的 SSB:"about:config" > "browser.ssb.enabled true" # 在 Windows 上:Firefox >頁面操作(地址欄中連續三個點)>“在應用模式下使用此站點”在桌面上創建一個鏈接。 # 在 Linux 上,您可以使用以下命令創建一個簡單的桌面鏈接/腳本: firefox --ssb https://freetsa.org/index_en_app.php ### Chromium / Chrome. chromium --app=https://freetsa.org/index_en_app.php chrome --app=https://freetsa.org/index_en_app.php
FreeTSA IPv6 地址
這些 IPv6 地址均可用於 OCSP、DNSCRYPT 解析(TCP/UDP)、DoT(DNS over TLS)、普通 DNS 和 NTP 服務。
2607:f130:0:f8::8198:f3f4 2607:f130:0:f8::817e:69c7 2607:f130:0:f8::ca3e:d470 2607:f130:0:f8::8418:ec2d 2607:f130:0:f8::2e57:96b
基於安全的 HTTP 響應頭
- HPKP 通過減少假證書幫助防止中間人攻擊(MitM)。
- HSTS 強制您的瀏覽器使用 HTTPS,這也減少了一些中間人攻擊。
- CSP 是一種通過惡意廣告注入來對抗xss和惡意軟件的方法。