web服务器的私钥保存在啥地方?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web服务器的私钥保存在啥地方?相关的知识,希望对你有一定的参考价值。

在给web站点申请证书的时候会向ca提交web服务器的公钥~但公钥和私钥都是成对出现的~我想知道那个私钥在哪里~所谓的私钥和公钥都是什么??是一个文件还是一段代码??或者是其它的什么~~
请懂得的朋友们帮忙~~要是跟我一样不太明白的朋友~~大家可以在一起讨论讨论~~先谢谢大家了~~
to 土鳖侠:
谢谢你朋友~~你说的非常好~~公钥加密技术不仅可以保证数据的机密性~还可以保证数据的完整性~可以进行身份验证及操作的不可否认性~~
但我觉得你并没有回答我的问题~~我问的是密钥在哪里保存~~具体是什么属性~~是一个文件还是一段代码~~
比如你如说"IE的工具-INTERNET选项-内容-证书"~~这个我知道~~公钥保存在数字证书里面~~但私钥在哪里呢~~所以~~我不能采纳你的答案~~不好意思~~但还是非常感谢你~~

我有个想法~~会不会在注册表里以密文形式保存呢??朋友们也可以随意猜想一下哈~~要是让你设计这个公钥加密技术~~你会吧私钥藏在哪里呢??

是一段代码
如果要解除HTTP起动时的口令输入
可以这样:
# cd /usr/local/apache2/conf/ssl.key/
或创建 /usr/local/apache2/conf/ssl.key/sendsslpwd
此时,Web服务器的私钥已经没有口令加密
参考技术A 利用公钥和私钥方式加密的方法叫做非对称加密。公钥和私钥不仅是成对的,而且是一对多的。公钥是用来发放的,私钥是本机保留的。用法是:私钥和公钥都可以用来加密文件,公钥加密的文件只能由私钥解密,私钥加密的文件只能由公钥解密。灵活运用非对称加密可以实现各种效果。
例如,A和B想建立加密连接,通过对称加密的方式实现,密钥由A出具。但加密连接之前A和B是没有加密连接的,因此明文发送对称密钥是很危险的,一旦被截获,则加密连接的数据将被轻易截获。因此,B有一套公私钥,B将公钥发放给A,这时可能公钥会被盗取,但只要A收到公钥就可以。A用公钥加密对称加密的密钥,发送给B。此时即使数据被截获也没关系,因为黑客只得到了B的公钥,他无法用公钥解密公钥,因此截获数据无任何意义。B收到A发来的密钥,用私钥解密,此时A和B均具有了对称加密的密钥,且没有被截获,他们可以进行安全通讯。当然这只是非对称加密的用法之一。
非对称加密有良好的保密性。需要发送保密数据的一方(A)持有公钥,而获取保密数据的一方(B)持有公钥,这样保证了数据即使丢失也不会被破解。非对称加密结合数字签名技术,可以保证数据的完整性。
你可以到IE的工具-INTERNET选项-内容-证书 这里查看你已经安装的证书。

附加:
你好,我看了你的问题补充,也查了一些资料。
根据我的了解,windows证书存放有3个方式:
1.单独文件形式。你可以查看
C:\Documents and Settings\Administrator\Application Data\Microsoft\SystemCertificates
当然,Administrator 是当前用户,你需要根据情况更换。证书的存放在组策略里有相关设定。
2.注册表。注册表其实也是以文件形式存放的,不过并非一个文件,而是多个文件,且很多信息混杂在一起。而且,证书以字符方式存放。
3.组策略。组策略里存放的证书存放形式我还不知道,但它的确可以存放证书。

当然还有第三方证书容器证书存放方式,例如USB Key,但也是文件形式存在的,只不过在导入USB Key时被加密了,无法通过拷贝方式拷贝出来。

关于如何存放证书,微软应该是没有公布太多技术细节,我也知道得有限,只是趁这个机会一起研究探讨下。水平实在有限,还希望有高人指点!
参考技术B 权威答案:

(1)在用户申请证书时,必须输入申请信息,例如姓名、地址、电子邮件账号等,这些信息会被发送到CSP的程序,这个程序已经安装在用户的计算机内或是用户计算机可访问的设备内。
(2)CSP会自动建立一对密钥,也就是一个公开密钥与一个私有密钥。CSP会将私有密钥存储到用户计算机的注册表中,然后将证书申请信息与公开密钥一并发送到CA。
(3)用户的计算机如果安装了卡片阅读机的话,可以利用智能卡来登录,但是需要申请证书,证书申请的过程与本章的过程类似,不过CSP会将私钥存储到智能卡内。本回答被提问者采纳

SharpSSH 无效的私钥

【中文标题】SharpSSH 无效的私钥【英文标题】:SharpSSH invalid privatekey 【发布时间】:2012-11-07 02:56:25 【问题描述】:

我使用 SharpSSH 连接到 stfp 服务器。

因为我需要像这样添加一个私钥文件:

sftp.AddIdentityFile(KeyFilePath);

但这会引发异常:

invaid privatekey: C:\KeyFile\privatekey_2.ppk

该文件是使用 puttygen 创建的,并且可以与 filezilla 一起使用。 私钥类型无关紧要(SSH-1 RSA、SSH-2 RSA、SSH-2 DSA)。每次都是一样的结果。

你知道如何处理这个问题吗?

【问题讨论】:

我不喜欢您的特定库,但 Putty 密钥格式只是他们自己的格式。您是否尝试过使用 ssh-keygen 生成的普通密钥文件? 您还可以选择在 Conversions->Export OpenSSH KeyConversions->Export OpenSSH Key 中以标准格式从 puttygen 导出密钥 请注意 - SSH 密钥没有“标准”格式 - 不同的软件使用不同的格式。 OpenSSH 格式是流行的格式之一,但不是标准,因为它没有在任何标准规范中定义。 【参考方案1】:

您必须将您的密钥转换为 OpenSSH 格式:

使用PuttyGen生成并转换密钥(转换->导出OpenSSH Key)

【讨论】:

以上是关于web服务器的私钥保存在啥地方?的主要内容,如果未能解决你的问题,请参考以下文章

Web3:访问 MetaMask 钱包中的私钥

如何将libsodium私钥转换为OpenPGP兼容的私钥包?

将加密的私钥保存在 cookie 中

WCF 错误:“证书“我的证书”可能没有能够进行密钥交换的私钥

如何使用 web3 创建私钥和公钥?

在哪里保存用于生成和验证令牌的私钥?