问题列表 - 第30589页

从BouncyCastle X509证书获取私钥?C#

通常,当我X509Certificate2从我的密钥库中取出时,我可以调用.PrivateKey以检索证书的私钥AsymmetricAlgorithm.但是我已经决定使用Bouncy Castle并且它的实例X509Certificate只有一个getPublicKey();我看不到从私有密钥中取出证书的方法.有任何想法吗?

我从我的Windows-MY密钥库中获取了X509Certificate2,然后使用:

//mycert is an X509Certificate2 retrieved from Windows-MY Keystore
X509CertificateParser certParser = new X509CertificateParser();
X509Certificate privateCertBouncy = certParser.ReadCertificate(mycert.GetRawCertData());
AsymmetricKeyParameter pubKey = privateCertBouncy.GetPublicKey();
//how do i now get the private key to make a keypair?
Run Code Online (Sandbox Code Playgroud)

无论如何将AsymmetricAlgorithm(C#私钥)转换为AsymmetricKeyParameter(bouncycastle私钥)?

c# bouncycastle x509certificate private-key

10
推荐指数
2
解决办法
3万
查看次数

Git还原合并到特定父级

我有一个git repo并且无法恢复合并.当前哈希值为0ce2ca0b35f59af267241cf4d40d16a3e13ba6f3.它有两个父母:

df1acf5f54426d30f12c6b4558c3dd922297aae3
e19b912404ffd3c153ccac3072dbf22396896d2a
Run Code Online (Sandbox Code Playgroud)

执行以下操作将恢复为df1acf5f54426d30f12c6b4558c3dd922297aae3

git revert -m 1 0ce2ca0b35f59af267241cf4d40d16a3e13ba6f3
Run Code Online (Sandbox Code Playgroud)

我如何恢复到e19b912404ffd3c153ccac3072dbf22396896d2a?

git

23
推荐指数
1
解决办法
1万
查看次数

如何在Rails错误中调试错误数量的参数(1表示0)?

我试图做一些重构并搞砸了事情,但现在不知道在哪里或如何调试,因为它不清楚问题所在.

关于如何深入了解错误和代码的一些建议会有所帮助...谢谢!

http://gist.github.com/474290

arguments ruby-on-rails

2
推荐指数
1
解决办法
3309
查看次数

C,C++中重入代码的推荐实践

在编写可重入代码时,我正在阅读有关推荐实践的重新入门指南.

其他参考资料和资源涵盖了这个主题?

什么类似lint的工具可以用来检查这些问题?

c c++ reentrancy

7
推荐指数
1
解决办法
6576
查看次数

签名会话cookie.一个好主意?

为了提高性能,我想要尝试消除一个简单的"会话cookie",但加密cookie本身的所有信息.

一个非常简单的例子:

userid= 12345
time=now()
signature = hmac('SHA1',userid + ":" + time, secret);

cookie = userid + ':' + time + ':' + signature;
Run Code Online (Sandbox Code Playgroud)

时间将用于最长的到期时间,因此cookie不会永久存在.

现在提出一个大问题:这是一个坏主意吗?

我最好使用AES256吗?在我的情况下,数据不是保密的,但在任何情况下都不得更改.

编辑

经过一些好的评论和评论,我想补充一下:

  • '秘密'是每用户唯一且不可预测的(随机字符串+用户ID?)
  • cookie将自动过期(这是基于时间值+一定的秒数完成的).
  • 如果用户更改了密码(或者甚至可能会注销?),秘密应该会改变.

最后一点:我正在尝试提出减少数据库负载的解决方案.这只是我正在研究的解决方案之一,但这是我的最爱.主要原因是我没有必要考虑更适合这种数据的其他存储机制(memcache,nosql),它使Web应用程序更加"无状态".

security cookies

29
推荐指数
3
解决办法
2万
查看次数

Sharp Architecture,Nhibernate和MVC

我想开始一个使用MVC,NHibernate的小项目,也许是使用尖锐的架构来熟悉技术.由于没有上述所有经验,我是否应该将尖锐的架构与MVC和NHibernate一起包含在内?如果是的话,任何有关初学者学习尖锐架构的好网站/教程以及MVC和NHibernate?感谢您的意见.

asp.net-mvc-2

1
推荐指数
1
解决办法
758
查看次数

从C#,C++/CLI和C++共享枚举

我有一个由三部分组成的库.首先是本机C++,它提供实际功能.其次是C++库的C++/CLI包装器/适配器,以简化C#到C++的转换.最后我有一个C#库,它通过C++/CLI适配器调用C++库.

现在我有两组并行枚举定义,一个存储在.cs文件中,另一个存储在.h文件中.这带来了双重问题:

  1. 我有双重维护.我必须始终在两个文件位置同步枚举的更改.
  2. 两个枚举使用的命名空间应该相同,但C++/CLI包装器(它们查看两组枚举并在它们之间进行转换)会引发命名冲突.

现在,我不知道这样的解决这个那个会解决这两个问题.思考?

.net c# c++ enums c++-cli

23
推荐指数
2
解决办法
2万
查看次数

C#扩展方法和F#管道转发操作符之间有什么关系?

在使用F#解决一些小问题之后,我发现将C#扩展方法看作是一种转向的方法对我自己很有帮助.进入管道运营商'.

例如,给定一个名为int的Int32s序列,C#代码:

ints.Where(i => i > 0)
    .Select(i => i * i)
Run Code Online (Sandbox Code Playgroud)

类似于F#代码

let where = Seq.filter
let select = Seq.map

ints |> where (fun i -> i > 0)
     |> select (fun i -> i * i)
Run Code Online (Sandbox Code Playgroud)

事实上,我经常认为IEnumerable上的扩展方法只是一个函数库,它提供与F#的Seq模块类似的功能.

显然,管道参数是F#函数中的最后一个参数,但是C#扩展方法中的第一个参数 - 但除此之外,在描述扩展方法或管道转发给其他开发人员时是否存在使用该解释的问题?

我会误导他们,还是一个有用的类比?

c# extension-methods f#

4
推荐指数
1
解决办法
712
查看次数

在Python中为Cassandra生成UUID

嘿,我正在使用

cf.insert(uuid.uuid1().bytes_le, {'column1': 'val1'}) (pycassa)

为Cassandra创建一个TimeUUID,但收到错误

InvalidRequestException: 
InvalidRequestException(why='UUIDs must be exactly 16 bytes')
Run Code Online (Sandbox Code Playgroud)

它不起作用

uuid.uuid1()
uuid.uuid1().bytes
str(uuid.uuid1())
Run Code Online (Sandbox Code Playgroud)

无论是.

创建与CompareWith ="TimeUUIDType"标志一起使用的有效TimeUUID的最佳方法是什么?

谢谢,
亨里克

python uuid cassandra pycassa

10
推荐指数
2
解决办法
3738
查看次数

程序集绑定日志查看器(fuslogvw)不记录任何绑定

程序集绑定日志查看器(fuslogvw)不记录我机器上安装的任何框架版本的绑定.

我尝试使用自定义日志位置,默认日志位置,默认类别和本机图像类别.

装配绑定日志查看器几个月前就已运行.我在64位计算机上运行C:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\FUSLOGVW.exe

.net assemblybinding fuslogvw

38
推荐指数
6
解决办法
2万
查看次数