海關179加簽原理及加籤步驟介紹

2021-10-08 08:14:53 字數 1876 閱讀 4586

大家知道,海關手續辦完後,會給2個usbkey,

乙個是法人卡,乙個是操作員卡,這兩個卡操作許可權不一樣,這個操作員卡是用來對179報文進行數字簽名的

什麼是數字簽名

所謂數字簽名,採用的簽名技術是,業界atm機級別的加密技術,也是業內大名鼎鼎的非對稱加密技術rsa

普通的加密可分為幾類

格式加密:

如base64加密,urlencode,

演算法公開,沒有key,誰拿到密文都可以解密

摘要演算法

md5,sha1,sha224,sha256,sha512等

常用的是md5,

這種就是計算摘要,使用這拿到原文後,通過摘要演算法與摘要進行比較,如果相等則證明沒有被篡改

摘要就是不可逆,md5使用很多,比如壓縮包就有檔案的md5校驗

這個其實不算加密,因為無法解密

這個算摘要驗證,其中大名鼎鼎的位元幣用的就是sha256摘要

就是給出乙個值的sha256摘要,然後挖礦者隨機計算摘要值然後,對碰,如果碰到了就算你挖礦成功

對稱加密:

des,3des,aes

這種就是加密方和解密用的是同乙個key

加密方和解密方拿到的是同一把鑰匙,只要拿到了鑰匙就能開啟密室

看到密文

非對稱加密:

rsa,這種是非對稱性加密

可以加解密,公鑰加密,私鑰解密

也可私鑰簽名,公鑰驗籤

私鑰是要自己儲存的,要儲存好, 公鑰是可以隨便給別人的

也就是說如果加密傳輸的話

雙方都要有各自的私鑰與公鑰, 自己保留私鑰,公鑰給對方

公鑰有: 有普通公鑰,有x509證書

海關用的是x509證書

加密方式有sha1withrsa,sha256withrsa

海關用的是sha1withrsa

為什麼要加簽

機密性:通訊報文採用rsa演算法加密,不可讀,加密的訊息只要收方能夠解密

防篡改:收方驗證訊息簽名,能夠發先任何更改

防抵賴:收方收到到的訊息簽名由發方的私鑰運算生成,其他人無法生成對應資訊,法律責任,認定

身份認證:收方能夠解密資訊,發方預設收方身份合法

加簽原理是什麼

海關採用的是sha1withrsa

海關加簽方式有三種:

usbkey加簽, 公服加簽,加密機加籤

usbkey加簽

私鑰及加密演算法,燒錄到usbkey硬體裡了,

私鑰無法匯出,檢視匯出私鑰的請放棄這種想法

這種usbkey需要用海關的專用軟體來驅動,是用c++編寫的,對外提供dll介面和webservice

驅動是windows,只能在windows機器上使用

公服加簽,雲加籤

這個上海有,

其實是把usbkey裡的檔案刻在了光碟上,光碟是寄給公服平台,

公服平台用光碟裡的證書,來加籤,具體實現形式不清楚

加密機加籤

與usbkey類似,只是效率高一些

怎麼加簽

usbkey的話

通過websocket伺服器,wss: 61231,ws: 61232,加簽

通過呼叫dll方式加簽,效率高一些,穩定性好一些

加簽的內容是179獨有的格式字串,海關對接會給例子,參照例子來就行,不同於其他總署報文的加簽內容

公服就是通過公服的介面加簽,雲加籤

加簽驗籤的理解

對加簽驗籤的理解 加簽驗籤模組早已做完了,從剛開始的一臉懵逼,到上線,前前後後兩周多吧,現在整理一下思路,記錄一下。加簽驗籤,傳送訊息方,對訊息加簽名 接受訊息方,驗證簽名是否正確。做加簽驗籤的目的主要目的就是,驗證訊息的完整性 簡單來說,傳送訊息方 1 根據訊息內容形成摘要 2 根據摘要形成簽名字...

spring mvc 加簽驗籤方案

一 請求格式要求 1.get 請求 url示例 http xx api test.do?a 1 b 2 c 3 d 4 content type 簽名key值與a 1 b 2 c 3 d 4 進行一定處理後加密得到 2.post請求 url示例 http xx api test.do content...

RSA 加密 解密 加簽 驗籤

1.公鑰與私鑰碼生成 2.獲取公鑰 獲取公鑰 return private publickey getpublickey catch exception e 獲取私鑰 獲取私鑰 return private privatekey getprivatekey catch exception e bas...