关于使用证书进行数字签名的问题,请大家帮忙。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于使用证书进行数字签名的问题,请大家帮忙。相关的知识,希望对你有一定的参考价值。

我用Java keytool生成一个自签名证书,安装到本机证书根目录下,模拟作为CA证书。同样再生成两个证书,作为通信双方的证书。用CA证书进行签名,签名后生成的数字证书,分别颁发给通信双方。这时相对文件进行签名和验证签名该怎么做?我不明白数字证书该怎么用?是用CA的公钥,解密后获得对方的公钥吗?

参考技术A 签名调用的是证书的私钥。验签的时候用的是证书的公钥。原则上签名的数据里会包括公钥信息。

HttpClient 无法忽略或绕过自签名证书错误

【中文标题】HttpClient 无法忽略或绕过自签名证书错误【英文标题】:HttpClient cannot ignore or bypass self signed certificate error 【发布时间】:2019-02-23 10:56:51 【问题描述】:

我尝试向服务器发送 POST 数据,但收到错误“net::ERR_CERT_INVALID”。如下所示的代码是我试图绕过错误但仍然失败的代码。请帮忙指教。谢谢。

import  HttpClient, HttpParams  from '@angular/common/http';

createData(data): Promise<any> 
    let post_message = data;
    let header_node = 
      Accept: 'application/json',
      rejectUnauthorized: 'false',
    
    // this.oauth_header.Authorization = 'Bearer ' + access_token;
    const url_params = new HttpParams()
      .set('rejectUnauthorized', 'false')
      .set('requestCert', 'false')
      .set('insecure', 'true')

    return this.http.post('https://ip/createdata', post_message, 
      headers: header_node,

    ).toPromise();

【问题讨论】:

嗨@CBV,你能用角度解决这个错误吗? 【参考方案1】:

尝试将标头作为HttpHeaders 传递给POST 方法。

import  HttpClient, HttpParams, HttpHeaders  from '@angular/common/http';

createData(data): Promise<any> 

    let post_message = data;
    let header_node = 
        headers: new HttpHeaders(
             'Accept': 'application/json' ,
             'rejectUnauthorized': 'false' )
        ;

    return this.http.post('https://ip/createdata', post_message, header_node).toPromise();

【讨论】:

以上是关于关于使用证书进行数字签名的问题,请大家帮忙。的主要内容,如果未能解决你的问题,请参考以下文章

数字签名证书是什么?

JAVA 判断字母,数字,空格,标点符号的方法。 (没有分了,请大家帮帮忙~谢谢~)

使用第三方电子合同平台签电子合同该怎么签?

使用自签名证书,新手必然会遇到的问题

使用 CryptUIWizDigitalSign API 对 appxbundle 进行签名

只要使用自签名证书,必然会遇到这种问题