求救,C# 实现DSA签名,如何读取现有的秘钥转换成DSAParameters形式?

小婷0-0 2016-07-27 09:42:36
请问,各位大神。已将秘钥转换成字节数组的形式,如何解析出DSAParameters形式?

DSACryptoServiceProvider DSA = new DSACryptoServiceProvider();

string strPriKey="秘钥字符串格式";
byte[] bPriKey = Encoding.Default.GetBytes(strPriKey);

DSAParameters DSAparams=new DSAParameters();
DSAparams.J = ""; //该值如何从bPriKey中获取
DSAparams.P = ""; //该值如何从bPriKey中获取
DSAparams.Q = ""; //该值如何从bPriKey中获取
DSAparams.G = ""; //该值如何从bPriKey中获取
DSAparams.X = ""; //该值如何从bPriKey中获取
DSAparams.Y = ""; //该值如何从bPriKey中获取
DSAparams.Seed = ""; //该值如何从bPriKey中获取

DSA.ImportParameters(DSAparams);
...全文
596 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35875267 2017-11-06
  • 打赏
  • 举报
回复
同求,,同样碰到这种问题,,也有密钥,如何进行字符签名
小婷0-0 2016-07-28
  • 打赏
  • 举报
回复
引用 6 楼 starfd 的回复:
试了下,有点问题,C#里面的J和PgenCounter这几个,在java那边好像没对应的……
那C#的秘钥是xml格式的好实现一些么?
  • 打赏
  • 举报
回复
试了下,有点问题,C#里面的J和PgenCounter这几个,在java那边好像没对应的……
小婷0-0 2016-07-27
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
你贴出来我试下呢
这是私钥和公钥。 -----BEGIN DSA PRIVATE KEY----- MIIBvAIBAAKBgQD917wFIznMUPUGXKkjNFtzihmd3wvAZwAngXa7VJTEeAb3IwjP EL/p/8pWC2rklUrVuSx+S9wYwLbXJeF6asiXHFGJqr9Ev99vxnqvl7kuyNwxqRIc K1WuhzZRdsBHFWhyPrkkGA35ixCrglEHXM9cVPJ2A93VUDnPvBBAk+dRpwIVAIGv gClbDEemmoUTfA7KFUD7TD8jAoGBAMTcSc0kapuOAC60+Jj6W+qm8kgnCOpN0Cm9 IEGP9h3wQyxXoqimED79nmcu+NsrmLqHmppGQx+nS/K2r9HJvlFqaTnYba7dID7B N8i+88nsyP0kMeMKUA+GSf41b51xh95xf+sI8V5lSydxs/x3H1HcGwiiuzRusag2 E20qQtn2AoGBAMKTsRZzvycs2/Q2mbGeks7y7VCEBO2Ls0DfNN0cLLDgy6BEZyEa /Hs7kH1zG296Q5NE7Qgwend/7IPRdxk3FjOFnnDXMTI9pDV7GDqlCvtfxOr4EvES EKZ1ttEA7D/EFXalhX/nCaxnZXr6poczFIgdGn9mt7wzYu/FIkfufkhxAhQkG96E SKoOEgz54MyZzG1k21iCnA== -----END DSA PRIVATE KEY----- -----BEGIN PUBLIC KEY----- MIIBuDCCASwGByqGSM44BAEwggEfAoGBAMztHrm8okS9rULMj2aNm0H/PzKF4YAp be/tfaYuasLCAx7tOPHCn1UhONUmU/TWzR/hpPZXu2xB2Nr65y4PXHLnHPR0izud oDG3q0SuylW7ucb4BKU+L/yKAqDy+uJ5sZQQsSYtVikWCZcpolDBOEKRJ/bUAqBy YSZSYIE+ZJpNAhUAtNK9iEAeTWGZ92nebyCVp1E325MCgYEAqES3yWwQT+Bcbe0m kL9BCnkxwoQgJrKRu6PXSGAt8WVpD0QEqvi0M+e+vIZIwwrV1Nx9ESf7C0joCAAb oFMCR+AXM/SojzVMubKG+QNoLhoBBUEI/FwDoyGeJdUeL/OIPdQfq/W4J/vDnFzG RshGM7P+BuYEtSJEk8jpsut4vhcDgYUAAoGBAIZTKON0jjuzJjQ2FwL93upDnhMM udkdjT5E6laTUp44A+NME1zBpuz634C1bXH9gTAFIybV42LNoX63CPWU0mPybGbw fRKDkjXCGxnLl3sZ9ldHEunZmsO3C7clrm7qxiEskuwWb2T5K7NRK6P7k4PhLty+ uxvyC7HnXmygdsQR -----END PUBLIC KEY-----
  • 打赏
  • 举报
回复
你贴出来我试下呢
小婷0-0 2016-07-27
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
秘钥是java提供的base64字符串?不是C#这种的xml格式?
您好,秘钥是java提供的base64的字符串。
  • 打赏
  • 举报
回复
秘钥是java提供的base64字符串?不是C#这种的xml格式?
小婷0-0 2016-07-27
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
你贴出来我试下呢
您有解决方案么?

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧