草庐IT

security - 存储加密的 PEM block 安全吗?

我有一些使用Go的经验,但现在我并不真正了解我正在做的事情在安全方面的复杂性,所以我需要问一下。我正在创建一个RSA私钥,将其转换为PEM,然后使用密码对其进行加密。那么,将它存放在公共(public)场所有多安全?我不是在寻找诸如“没关系,随着时间的推移更改密码”之类的答案,我真的想知道Golang正在使用哪种密码机制来执行此操作,以及将加密的PEM留在其中是否安全,因为例如,公共(public)区block链以及为什么我可以做到或为什么不能。我将在这里留下我现在正在使用的代码:funcNew(passphrasestring)(*pem.Block,error){pk,err:=c

java - java与go之间的RSA加解密

在java中我用RSA加密了一个字符串:“你好,我是明文字符串!@sina.com”然后得到:kkkHf5QSXx8aDadk66AOysmV8LOi4vWUANal+7KV6va/5ZR7PSWGRS5bzbK4vMyK9FA5CLQolr2NB6ouPNWpgq3Af7Pn/f45+pDtKRsBLX8+q/Mw7TOYR525e7nVePDBLM2wLQZ4Gh5QMQzEI3Me3Zc3030jRg0gEG13N/1EzMo=但是我试了很多方法都无法在go中解密。有什么问题?任何帮助将不胜感激,谢谢。这是我的代码:Java:publicstaticvoidmain(String

javascript - RSA Javascript加密和Golang解密

我有一个场景,我需要将RSA公钥加密标准与JavaScript和Golang一起使用。我需要使用公钥在JavaScript中加密数据,并使用私钥在Golang中解密数据。我尝试使用PKCS#1(JavaScript的travst库和Golang的crypto/rsa),但解密失败。谁能为此提出解决方案?我尝试了所有可能的解决方案并研究了很多文档,但仍然找不到合适的方法。如果我在golang中进行加密和解密,它工作正常。但是javascript和golang之间存在一些集成问题。我不确定javasript中使用的填充方法。这是我要解密的golang代码:funcDecrypt(encry

regex - 用于检测私有(private)和公共(public) RSA key 的正则表达式

我在互联网上搜索过,但没有结果,是否有任何模式(将在正则表达式中实现)来检测RSA私钥或公钥?(不包括诸如----公共(public)RSAkey--或“sshrsa”之类的字符串)创建base64正则表达式后我卡住了varre=regexp.MustCompile(`(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3})=`)谢谢 最佳答案 获取pem格式的block如果您的文档不仅包含PEM格式的block而不是Decodeencoding/pem包中的函数会有帮

golang 中的 java RSA/ECB/OAEPWithSHA 256AndMGF1Padding 等价物

我正在尝试将一些java加密代码迁移到golang中并遇到了这个Ciphercipher=Cipher.getInstance(RSA_ECB_OAEPWithSHA256AndMGF1Padding);cipher.init(Cipher.WRAP_MODE,cert);returncipher.wrap(key);我正试图在go中找到此的任何实现。任何帮助,将不胜感激。谢谢。 最佳答案 虽然问题有点不清楚,但我认为您想要一种在Go中编码数据的方法。你可能会发现用谷歌搜索以下标准Go包很有帮助:加密/hmac加密/sha256编码

encryption - golang中如何使用rsa key 对进行AES加解密

我想生成RSAkey对(公钥和私钥),然后将它们用于AES加密和解密。例如公钥用于加密,私钥用于解密。我为此编写了一个简单的代码,但问题是当我运行这段代码时出现此错误:crypto/aes:invalidkeysize1639我该如何解决这个问题??我的加密代码如下://genratingprivatekeyprivateKey,err:=rsa.GenerateKey(rand.Reader,2014)iferr!=nil{return}privateKeyDer:=x509.MarshalPKCS1PrivateKey(privateKey)privateKeyBlock:=pem

go - 如何在 golang 中正确使用 crypto/rsa Decrypt 函数?

func(priv*PrivateKey)Decrypt(randio.Reader,ciphertext[]byte,optscrypto.DecrypterOpts)(plaintext[]byte,errerror)以上是golangcrypto/rsa库中的函数。我不太明白这里对参数opts的解释。Decryptdecryptsciphertextwithpriv.Ifoptsisniloroftype*PKCS1v15DecryptOptionsthenPKCS#1v1.5decryptionisperformed.Otherwiseoptsmusthavetype*OAEP

go - 如何解码 PEM 编码的 PKIX 公钥?

Go的officialdocumentation中给出的例子x509.ParsePKIXPublicKey遇到运行时错误,因为pem.Decode()返回的Block是nil。(Playgroundexample)但是,officialdocumentation中的示例pem.Decode()运行得很好。(Playgroundexample)我发现这两个示例之间的唯一区别是公钥的初始化方式以及它们在pem.Decode()中的使用方式。第一个例子:constpubPEM=`-----BEGINPUBLICKEY-----...-----ENDPUBLICKEY-----`block,_

go - 从 openpgp.Entity 中提取 rsa.PrivateKey

RSA有几种关键格式。有没有办法从golang中的PGPkey中提取PKCS1私钥?像这样的东西(它不起作用):vare*openpgp.Entitye,err:=openpgp.NewEntity("test11","test","test@test.com",nil)iferr!=nil{fmt.Println(err)return}key,ok:=e.PrivateKey.PrivateKey.(rsa.PrivateKey)if!ok{//Hereistheprobleminthissolutionfmt.Printf("Assertationfailed")}pkcs1Pri

go - 如何将 *rsa.PublicKey 变成可识别的 key 字符串

我有这个功能:funcGetSigningKey()*rsa.PublicKey{set,_:=jwk.ParseString(GetWellKnown())publicKey,_:=set.Keys[0].Materialize()returnpublicKey.(*rsa.PublicKey)}.Materialize()返回interface{},因此我使用此函数将其转换为(我认为的)预期类型。然后我可以将该token用于:publicKey:=GetSigningKey()token,_:=jwt.Parse(tokenString,func(*jwt.Token)(inter