- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发一个 WCF 服务,它使用 SSL 证书来保证传输安全。
我按照各种在线教程和提示生成并导入了证书。使用以下命令导入证书:
certmgr.exe -add -all -c <filename>.pfx -s -r localMachine my
我的 WCF 服务在控制台模式下使用导入的证书愉快地运行。当我将服务切换为使用作为“网络服务”运行的 Windows 服务托管时,问题就开始了。异常是提示应用程序无权访问已安装的私钥。
于是我使用了FindPrivateKey.exe,发现私钥居然安装在当前用户的AppData文件夹中:
C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\S-1-5-21-3289377140-263254259-3378496556-1105\d3a0de64e6f0513692d593a77a71d3ac_15824a33-515a-493c-a33f-38a7b852e11a
即使我授予“NETWORK SERVICE”用户对该文件的访问权限,它也不会工作。
最后我必须删除证书,并使用 MMC 重新导入,它将私钥放置到:
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\c3ccd4300462fe2aa7cec7f747fbd075_15824a33-515a-493c-a33f-38a7b852e11a
所以我的问题是,如何让 certmgr 将私钥放在 C:\ProgramData\而不是当前用户的 AppData 中?
最佳答案
您不应尝试在文件级别使用证书。它是不保证支持的内部实现。
有一个 MS 工具可以帮助您:
The Microsoft Windows HTTP Services (WinHTTP) certificate configuration tool, "WinHttpCertCfg.exe", enables administrators to install and configure client certificates in any certificate store that can be accessed by the Internet Server Web Application Manager (IWAM) account.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384088(v=vs.85).aspx
您需要运行的命令:
This command grants access to the private key of the "MyCertificate" certificate in the "My" certificate store for the TESTUSER account.
winhttpcertcfg -g -c LOCAL_MACHINE\My -s MyCertificate -a TESTUSER
使用此链接安装该工具:
http://www.microsoft.com/en-us/download/details.aspx?id=19801
关于wcf - 如何让 certmgr 为所有用户而不是当前用户添加 pfx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11149407/
我正在使用Windows操作系统的自签名证书和证书管理器。 首先,我创建了一个自签名证书“ RootCA”,该证书已分配了一个私钥/公钥对,但是我已成功使用下一个certutil.exe命令销毁了
我遇到了一个问题,我无法使用内置工具 certmgr 将证书私钥导入 monos 证书存储/ key 对存储. 将证书公共(public)版本添加到商店可以正常使用 user@maschine:~ce
我需要从“localMachine”存储库上的“cmd.exe”启动“certmgr.msc”,以便可以导入/导出证书。我已尝试以下命令,但“certmgr.msc”一直在“currentUser”上
我正在尝试在脚本中使用 certmgr 将证书添加到 CurrentUser 位置: certmgr.exe -add -r LocalMachine -s My -c -n %SERVER_NAME
我正在开发一个 WCF 服务,它使用 SSL 证书来保证传输安全。 我按照各种在线教程和提示生成并导入了证书。使用以下命令导入证书: certmgr.exe -add -all -c .pfx -s
我使用 makecert 创建了一个根 ca: makecert -r -pe -n "CN=MyRootCA" -b 01/01/2015 -e 01/01/2020 -ss root -sr lo
是否有任何 Windows api 可用于创建我自己的 cermgr.exe,它将 .cer 文件安装到证书存储区。如果不是以编程方式实现这一点? 如何在不使用 certmgr.exe 或 certu
我试过: certmgrs /add myCert.cer /s /r localMachine root 我已经尝试了几种变体,例如:localMachine trustedPublishers 每
我有一个运行 certmgr.exe 的应用程序,用于在根文件夹和个人文件夹中的 localMachine 上安装证书。以下是我正在使用的命令 CertMgr.exe -add -all "secur
我使用的是 Windows 7 并且想要导入证书。 This link说要在 certmgr.exe 上使用 Action => All Tasks => Import 菜单,但我的 certmgr.
使用powershell调查Certificate Provider时我注意到所有路径看起来都相似但与 certmgr 中的文件夹结构不同.似乎很清楚: Certs:\LocalMachine ~=
当证书过期时,它们会消失,但实际上会保存在文件中。如何找到这些存档的证书? 最佳答案 对于本地用户证书,运行 certmgr.msc 并选择 view>options,show “archived c
C:\windows\system32\makecert.exe -r -n "CN=HanuSoft CA"-pe -sv HanuSoftCA.pvk -a sha1 -len 2048 -b 0
现在我有一些带有由 CA 软件签名的证书的 HTTP-SSL 服务器。 我在 Windows 和 Java keystore 中都导入了 CA。 谁能指导我/为我提供一些有用的信息,让我通过简单地输入
我是一名优秀的程序员,十分优秀!