pyasn1.error.PyAsn1Error: TagSet( ) not in asn1Spec

場景是使用python的python-rsa工具加載rsa公鑰時(shí)候異常

pyasn1.error.PyAsn1Error: TagSet(Tag(tagClass=0, tagFormat=32, tagId=16)) not in asn1Spec: {TagSet(Tag(tagClass=0, tagFormat=0, tagId=2)): Integer()}/{}

具體的報(bào)錯(cuò)信息是:

報(bào)錯(cuò)信息

1、一種網(wǎng)絡(luò)的解決方案:

https://ask.helplib.com/others/post_5222242

他的方法是將加載RSA公鑰的函數(shù)進(jìn)行替代,從 public_key = rsa.PublicKey.load_pkcs1(ofile.read()) 替換成?public_key = rsa.PublicKey.load_pkcs1_openssl_pem(ofile.read()),如下圖所示

load_pkcs1_openssl_pem( )

效果是加載字典中沒有報(bào)錯(cuò)了,但是監(jiān)控顯示公鑰加載失敗,并沒有解決問題

2、stackOverflow 上的解決方案

https://stackoverflow.com/questions/25243761/pyasn1-error-when-reading-a-pem-string

看的出來,和第一種是同種方法,甚至可能是同一個(gè)人提交的答案

但是在這里找到了文檔 Python-RSA 3.3 documentation【鏈接是 https://stuvel.eu/files/python-rsa-doc/reference.html】,其中有加載RSA公鑰的函數(shù)定義,如下所示:

load_pkcs1 文檔中的函數(shù)定義

3、Others

https://github.com/bidord/pykek/issues/1

4、查找到一篇博客,提到Python和Java跨平臺導(dǎo)致的RSA加密算法會有細(xì)微標(biāo)準(zhǔn)不同導(dǎo)致的加載失敗

https://www.cnblogs.com/skying555/p/6293751.html


改用 Cryptor-RSA 加密

參考:

http://blog.csdn.net/nyist327/article/details/48352253

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 嘟噥嘟噥:最近接到一個(gè)任務(wù):在客戶端動態(tài)生成RSA密鑰對,然后向服務(wù)器發(fā)送這個(gè)密鑰對中的公鑰字符串,由服務(wù)器進(jìn)行公...
    TimmyR閱讀 8,353評論 19 21
  • 交通銀行、農(nóng)業(yè)銀行、招商銀行......金融行業(yè)的美女直播如雨后春筍般涌現(xiàn),更不用說依然占領(lǐng)微信朋友圈的微商,早已...
    ServiceHot閱讀 407評論 0 0
  • 個(gè)人賬號和公司賬號:只要是99美金的都可以發(fā)布應(yīng)用到AppStore。 企業(yè)賬號:不能發(fā)布應(yīng)用到AppStore,...
    鬼公子閱讀 1,144評論 0 0
  • 偶然的機(jī)會在訂閱的公眾號十點(diǎn)讀書會上看到關(guān)于怎樣閱讀的一篇文章,里面介紹了三本書這樣讀書就夠了,如何高效讀懂一本書...
    銳基閱讀 264評論 0 1

友情鏈接更多精彩內(nèi)容