zoukankan      html  css  js  c++  java
  • [ArgumentException: 可能证书“CN=JRNet01-PC”没有能够进行密钥交换的私钥,或者进程可能没有访问私钥的权限。有关详细信息,请参见内部异常。]

    堆栈跟踪:

    [CryptographicException: 密钥集不存在。
    ]
       System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer) +450
       System.Security.Cryptography.Utils.GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle) +158
       System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair() +231
       System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey() +537
       System.ServiceModel.Security.SecurityUtils.EnsureCertificateCanDoKeyExchange(X509Certificate2 certificate) +78
    
    [ArgumentException: 可能证书“CN=JRNet01-PC”没有能够进行密钥交换的私钥,或者进程可能没有访问私钥的权限。有关详细信息,请参见内部异常。]
       System.ServiceModel.Security.SecurityUtils.EnsureCertificateCanDoKeyExchange(X509Certificate2 certificate) +16627277
       System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateLocalSecurityTokenProvider(RecipientServiceModelSecurityTokenRequirement recipientRequirement) +137
       System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateSecurityTokenProvider(SecurityTokenRequirement requirement) +50
       System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateTlsnegoServerX509TokenProvider(RecipientServiceModelSecurityTokenRequirement recipientRequirement) +289
       System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateTlsnegoSecurityTokenAuthenticator(RecipientServiceModelSecurityTokenRequirement recipientRequirement, Boolean requireClientCertificate, SecurityTokenResolver& sctResolver) +638
       System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement, SecurityTokenResolver& outOfBandTokenResolver) +16627516
       System.ServiceModel.Security.SessionRenewSecurityTokenManager.CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement, SecurityTokenResolver& outOfBandTokenResolver) +176
       System.ServiceModel.Security.SymmetricSecurityProtocolFactory.OnOpen(TimeSpan timeout) +220
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
       System.ServiceModel.Security.SecurityListenerSettingsLifetimeManager.Open(TimeSpan timeout) +81
       System.ServiceModel.Channels.SecurityChannelListener`1.OnOpen(TimeSpan timeout) +398
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
       System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) +283
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
       System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +126
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
       System.ServiceModel.Security.SecuritySessionSecurityTokenAuthenticator.OnOpen(TimeSpan timeout) +141
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
       System.ServiceModel.Security.SecurityUtils.OpenTokenAuthenticatorIfRequired(SecurityTokenAuthenticator tokenAuthenticator, TimeSpan timeout) +50
       System.ServiceModel.Security.SecuritySessionServerSettings.OnOpen(TimeSpan timeout) +923
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
       System.ServiceModel.Security.SecurityListenerSettingsLifetimeManager.Open(TimeSpan timeout) +124
       System.ServiceModel.Channels.SecurityChannelListener`1.OnOpen(TimeSpan timeout) +398
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
       System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) +283
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
       System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +126
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
       System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +255
       System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +1172
    
    [ServiceActivationException: 由于编译过程中出现异常,无法激活服务“/Service1.svc”。异常消息为: 可能证书“CN=JRNet01-PC”没有能够进行密钥交换的私钥,或者进程可能没有访问私钥的权限。有关详细信息,请参见内部异常。。]
       System.Runtime.AsyncResult.End(IAsyncResult result) +900192
       System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +192830
       System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +107
    

     win7解决方式:

     1.运行mmc打开 控制台

    2. 添加删除单元

    3.导入证书

    4.右键点击所选证书->所有任务->管理密钥->添加授权用户

    5. 哦了

    windows server 解决方式:

    以windows server 2003为例:

    1.打开证书存储目录:C:Documents and SettingsAll UsersApplication DataMicrosoftCryptoRSAMachineKeys

    2. 根据修改时间找到要设置的证书,右键赋予访问权限即可

    3.参考文件:http://msdn.microsoft.com/zh-cn/library/aa702621.aspx

  • 相关阅读:
    vscode 整理————开篇之力(一)
    重学c#系列——datetime 和 datetimeoffset[二十一]
    重新点亮shell————什么是shell[一]
    重新整理 .net core 实践篇——— 权限中间件源码阅读[四十六]
    为什么构建容器需要Namespace?
    基于Windows Mobile 5.0的掌上天气预报设计
    使用.NE平台调用服务访问非托管 DLL 中的函数
    .NET Framework 3.0 RC1 开发环境构建
    ASP.NET未处理异常的处理
    基于Silverlight的Windows Phone 推箱子程序开发
  • 原文地址:https://www.cnblogs.com/yf2011/p/4164195.html
Copyright © 2011-2022 走看看