- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
任何人都可以向我澄清 PFX 文件中的“私钥”类型吗?
我问这个是因为在阅读了很多关于数字认证的内容之后,我对私钥部分仍然有些困惑,尤其是当涉及到证书颁发机构时。
我缺少的部分是据说私钥在 CA 端保密,但如果我进入我的个人证书存储并尝试导出证书,我可以使用私有(private) key 导出它键入它。
这个私钥是否与我们不应该知道的私钥相同?
最佳答案
当涉及用于 SSL/TLS 的 X.509 证书时,公钥加密有两种不同的用途。
每个 X.509 证书都包含一个公钥,该公钥具有仅由该证书所属的身份(证书的主题)持有的匹配私钥。
其中一个目的是建立对另一个证书的信任。 CA 使用其私钥签署其他证书:可能是其他(中间)CA 证书或终端实体证书(实际将用于 SSL/TLS 连接本身的证书)。
例如,根 CA 的私钥可用于签署(即颁发)中间 CA 的证书。可以使用根 CA 证书的公钥验证中间 CA 证书。中间 CA 自己的 key 对不参与此验证(尽管验证过程确保该证书中的公钥属于中间 CA)。
中间 CA 的私钥可用于签署您的服务器证书(EEC)。中间 CA 的公钥可用于验证服务器证书的真实性。因此,只有根 CA 证书的人可以通过构建链来检查您的服务器证书。同样,您的服务器公钥和私钥根本不参与此验证,但这些操作的结果证明您的服务器证书中的公钥属于您的服务器名称。
认证链中涉及的任何 key 对之间没有任何关系。即使是颁发证书的 CA 也不会(或不应)访问其颁发的证书的私钥。
公钥加密的第二次使用是在 SSL/TLS 握手期间。确切的机制取决于密码套件,但这允许客户端与服务器就一个 secret 达成一致,只有私钥与服务器证书中的公钥匹配的服务器才能看到。这个私钥就是证书本身的私钥。
在 PKCS#12 文件中,您会找到一个最终实体证书和与该证书中的公钥匹配的私钥,供颁发该证书的实体使用,通常还有一个 CA 证书链(从直接颁发 EEC 的证书到链上游的其他 CA 证书,可能直至根 CA)。
在这里,我将这个 EEC 示例用于 SSL/TLS 服务器,但同样适用于要在其他上下文(例如 SSL/TLS 客户端或 S/MIME)中使用的 EEC。
关于ssl - PKC12 pfx 文件中的私钥类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17699559/
我正在尝试编写一个相当多态的库。我遇到了一种更容易表现出来却很难说出来的情况。它看起来有点像这样: {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE
谁能解释一下这个表达式是如何工作的? type = type || 'any'; 这是否意味着如果类型未定义则使用“任意”? 最佳答案 如果 type 为“falsy”(即 false,或 undef
我有一个界面,在IAnimal.fs中, namespace Kingdom type IAnimal = abstract member Eat : Food -> unit 以及另一个成功
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: What is the difference between (type)value and type(va
在 C# 中,default(Nullable) 之间有区别吗? (或 default(long?) )和 default(long) ? Long只是一个例子,它可以是任何其他struct类型。 最
假设我有一个案例类: case class Foo(num: Int, str: String, bool: Boolean) 现在我还有一个简单的包装器: sealed trait Wrapper[
这个问题在这里已经有了答案: Create C# delegate type with ref parameter at runtime (1 个回答) 关闭 2 年前。 为了即时创建委托(dele
我正在尝试获取图像的 dct。一开始我遇到了错误 The function/feature is not implemented (Odd-size DCT's are not implemented
我正在尝试使用 AFNetworking 的 AFPropertyListRequestOperation,但是当我尝试下载它时,出现错误 预期的内容类型{( “应用程序/x-plist” )}, 得
我在下面收到错误。我知道这段代码的意思,但我不知道界面应该是什么样子: Element implicitly has an 'any' type because index expression is
我尝试将 SignalType 从 ReactiveCocoa 扩展为自定义 ErrorType,代码如下所示 enum MyError: ErrorType { // .. cases }
我无法在任何其他问题中找到答案。假设我有一个抽象父类(super class) Abstract0,它有两个子类 Concrete1 和 Concrete1。我希望能够在 Abstract0 中定义类
我想知道为什么这个索引没有用在 RANGE 类型中,而是用在 INDEX 中: 索引: CREATE INDEX myindex ON orders(order_date); 查询: EXPLAIN
我正在使用 RxJava,现在我尝试通过提供 lambda 来订阅可观察对象: observableProvider.stringForKey(CURRENT_DELETED_ID) .sub
我已经尝试了几乎所有解决问题的方法,其中包括。为 提供类型使用app.use(express.static('public'))还有更多,但我似乎无法为此找到解决方案。 index.js : imp
以下哪个 CSS 选择器更快? input[type="submit"] { /* styles */ } 或 [type="submit"] { /* styles */ } 只是好
我不知道这个设置有什么问题,我在 IDEA 中获得了所有注释(@Controller、@Repository、@Service),它在行号左侧显示 bean,然后转到该 bean。 这是错误: 14-
我听从了建议 registering java function as a callback in C function并且可以使用“简单”类型(例如整数和字符串)进行回调,例如: jstring j
有一些 java 类,加载到 Oracle 数据库(版本 11g)和 pl/sql 函数包装器: create or replace function getDataFromJava( in_uLis
我已经从 David Walsh 的 css 动画回调中获取代码并将其修改为 TypeScript。但是,我收到一个错误,我不知道为什么: interface IBrowserPrefix { [
我是一名优秀的程序员,十分优秀!