首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在套接字java上正确地进行非对称加密和解密

在套接字Java上正确地进行非对称加密和解密,可以通过以下步骤实现:

  1. 生成密钥对:首先,需要生成非对称加密算法所需的密钥对,包括公钥和私钥。可以使用Java的密钥对生成器(KeyPairGenerator)类来生成密钥对。
  2. 加密数据:要加密数据,首先需要获取接收方的公钥。可以使用Java的密钥工厂(KeyFactory)类从公钥的字节数组或密钥规范中恢复公钥对象。然后,使用公钥对要加密的数据进行加密。可以使用Java的密码(Cipher)类来执行加密操作。
  3. 解密数据:接收方使用其私钥对加密的数据进行解密。类似地,可以使用Java的密钥工厂类从私钥的字节数组或密钥规范中恢复私钥对象。然后,使用私钥对加密的数据进行解密。

以下是一个示例代码,演示了如何在套接字Java上正确地进行非对称加密和解密:

代码语言:txt
复制
import java.io.*;
import java.net.*;
import java.security.*;
import javax.crypto.*;

public class SocketEncryptionExample {
    public static void main(String[] args) {
        try {
            // 生成密钥对
            KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
            keyPairGenerator.initialize(2048);
            KeyPair keyPair = keyPairGenerator.generateKeyPair();
            PublicKey publicKey = keyPair.getPublic();
            PrivateKey privateKey = keyPair.getPrivate();

            // 启动服务器
            Thread serverThread = new Thread(() -> {
                try {
                    ServerSocket serverSocket = new ServerSocket(8888);
                    Socket socket = serverSocket.accept();

                    // 获取输入输出流
                    InputStream inputStream = socket.getInputStream();
                    OutputStream outputStream = socket.getOutputStream();

                    // 加密数据
                    Cipher encryptCipher = Cipher.getInstance("RSA");
                    encryptCipher.init(Cipher.ENCRYPT_MODE, publicKey);
                    CipherOutputStream cipherOutputStream = new CipherOutputStream(outputStream, encryptCipher);

                    // 发送加密数据
                    String message = "Hello, World!";
                    cipherOutputStream.write(message.getBytes());
                    cipherOutputStream.flush();
                    cipherOutputStream.close();

                    // 关闭连接
                    socket.close();
                    serverSocket.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            });
            serverThread.start();

            // 启动客户端
            Thread clientThread = new Thread(() -> {
                try {
                    Socket socket = new Socket("localhost", 8888);

                    // 获取输入输出流
                    InputStream inputStream = socket.getInputStream();
                    OutputStream outputStream = socket.getOutputStream();

                    // 解密数据
                    Cipher decryptCipher = Cipher.getInstance("RSA");
                    decryptCipher.init(Cipher.DECRYPT_MODE, privateKey);
                    CipherInputStream cipherInputStream = new CipherInputStream(inputStream, decryptCipher);

                    // 接收解密数据
                    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                    byte[] buffer = new byte[1024];
                    int bytesRead;
                    while ((bytesRead = cipherInputStream.read(buffer)) != -1) {
                        byteArrayOutputStream.write(buffer, 0, bytesRead);
                    }
                    String decryptedMessage = new String(byteArrayOutputStream.toByteArray());
                    System.out.println("Decrypted Message: " + decryptedMessage);

                    // 关闭连接
                    socket.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            });
            clientThread.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述示例中,首先生成了一个2048位的RSA密钥对。然后,启动了一个服务器线程和一个客户端线程。服务器线程接受客户端连接,并使用公钥对消息进行加密后发送。客户端线程接收加密的消息,并使用私钥对其进行解密。

请注意,此示例仅用于演示目的,实际应用中可能需要更多的错误处理和安全措施。另外,还可以根据具体需求选择其他非对称加密算法,如DSA或ECDSA。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,建议参考腾讯云的文档和官方网站,查找与非对称加密相关的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

即时通讯安全篇(一):正确地理解和使用Android端加密算法

如何正确地理解和使用加密技术则显的尤其重要。...即时通讯安全篇(三):常用加解密算法与通讯安全讲解》《即时通讯安全篇(四):实例分析Android中密钥硬编码的风险》《即时通讯安全篇(五):对称加密技术在Android上的应用实践》《即时通讯安全篇(...;2)Java Cryptography Extension:JCE,Java加密扩展包);3)Java Secure Sockets Extension:JSSE,Java安全套接字扩展包;4)Java...10、非对称加密非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。...公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密(这个过程可以做数字签名)。

10410

【网络安全】网络防护之旅 - Java安全机制探秘与数字证书引爆网络防线

深刻理解Java安全机制的基础知识: 实验要求学生深入理解Java安全机制的基础知识,包括Java加密体系结构(JCA)、Java加密扩展(JCE)和Java安全套接扩展(JSSE)。...♂️2.4 研究内容 ️2.4.1 密钥表示 在Java编程语言中,密钥(Key)在密码学领域扮演着关键的角色,用于执行各类密码算法中的加密和解密操作,其中包括对称加密和非对称加密。...主要密钥类型: (1) 对称密钥(Symmetric Key) 对称密钥采用相同的密钥进行加密和解密,是一种常见的加密算法形式。AES、DES和3DES等对称加密算法都属于此类。...KeyPair keyPair = generateAsymmetricKeyPair(); // 生成非对称密钥对 密钥对象通常与加密算法及相关操作(如加密、解密、签名、验证等)相结合使用。...为确保密钥对信息的安全性,Java提供了工具类如KeyGenerator和KeyPairGenerator等来生成密钥。这些密钥通常存储在密钥库中,并通过密码进行保护,构成安全系统中关键的管理任务。

16710
  • Https传输协议传输数据时是怎么进行加密的?

    HTTPS(超文本传输安全协议)使用了一种称为SSL(安全套接字层)或TLS(传输层安全性)的协议来进行加密。...密钥交换: 客户端和服务器使用非对称加密技术(如RSA)进行密钥交换。 客户端使用服务器的公钥来加密一个随机生成的对称密钥(会话密钥),并将加密后的密钥发送给服务器。...HTTPS使用对称加密算法(如AES)来加密和解密实际传输的数据。 完整性检查: HTTPS还使用了一种称为消息认证码(MAC)的技术来确保数据的完整性。...当服务器收到数据时,它会使用相同的密钥和算法来生成MAC,并与接收到的MAC进行比较,以确保数据在传输过程中没有被篡改。 关闭连接: 当数据传输完成时,客户端和服务器关闭加密连接。...这种结合非对称加密和对称加密的方式确保了HTTPS连接的安全性。非对称加密用于安全地交换对称密钥,而对称加密则用于高效地加密和解密实际传输的数据。

    38710

    使用 Spring Boot 进行加密和解密:SecretKeySpec 和 Cipher

    在现代软件开发中,数据加密和解密是保护敏感信息的重要手段。本文将介绍如何在 Spring Boot 项目中使用 Java 的 SecretKeySpec 和 Cipher 类来实现对称加密和解密。...本文将以 AES 为例,展示如何在 Spring Boot 项目中进行数据加密和解密。...(如HTTPS中的对称加密部分)非对称加密概念非对称加密(Asymmetric Encryption)是一种使用一对密钥(公钥和私钥)进行加密和解密的加密方法。...非对称加密使用一对密钥(公钥和私钥)进行加密和解密。速度:对称加密速度快,适合大数据量的加密。非对称加密速度慢,通常用于少量数据的加密或密钥交换。安全性:对称加密密钥管理复杂,密钥泄露风险较大。...非对称加密安全性高,适合公开密钥的场景。实际应用结合在实际应用中,常常将对称加密和非对称加密结合使用。例如,在HTTPS协议中,首先使用非对称加密进行密钥交换,然后使用对称加密进行数据传输。

    1.9K21

    HTTPS、SSL、TLS三者之间的联系和区别

    ——以上就是历史背景 SSL 是指安全套接字层,简而言之,它是一项标准技术,可确保互联网连接安全,保护两个系统之间发送的任何敏感数据,防止网络犯罪分子读取和修改任何传输信息,包括个人资料。...大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接”) 3. 大致了解加密算法的概念(尤其是“对称加密与非对称加密”的区别) 4....然而,TLS 标准并没有规定应用程序如何在 TLS 上增加安全性;它把如何启动 TLS 握手协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断。  ...HTTPS协议使用SSL在发送方把原始数据进行加密,然后在接受方进行解密,加密和解密需要发送方和接受方通过交换共知的密钥来实现,因此,所传送的数据不容易被网络黑客截获和解密。...然而,TLS标准并没有规定应用程序如何在TLS上增加安全性;它如何启动TLS握手协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断。

    2.5K20

    Https详解

    https 协议 概念 https=http+SSL SSL:加密套接字 ssl加密使用openssl库 openssl : 1. ssl加密套件 2. https的通信 apt-get install...,129,256 512 1024 2048 4096密钥 其他的还有blowfish,Twofish和RC6,IDEA(商业算法),CAST5等 非对称加密:非对称加密方式解决了对称加密的缺陷,它的加密和解密密钥是不同的...,比如对一组数字加密,我们可以用公钥对其加密,然后我们想要将其还原,就必须用私钥进行解密,公钥和私钥是配对使用的,常见的非对称加密算法有: 优点: 加密和解密 用不同密钥 缺点:加密速度非常慢 RSA:...rc4 实现通信双方的互相身份认证-----非对称加密 ssl加密 解密过程 加密过程 单项加密 对称加密 非对称加密 证书 对方的公钥 数字签名--->公钥的单项加密结果 https通信中 要进行证书交互...SSL 协议是一个分层的协议,共有两层组成 高层协议包括 SSL 握手协议 改变加密约定协议 报警协议 处于 SSL 协议的底层 SSL记录层协议 建立ssl套接字 getopt 参数解析

    78930

    HTTPS详细介绍

    其次是对内容的加密,在这种情况下,客户端和服务器需要对发送的内容进行加密解密操作。另外,由于该方法不像SSL和TLS一样对整个通信线路进行加密,虽然内容不会被窃听,但是可能会被篡改。...此外,加密分为对称加密和非对称加密。HTTPS当然是使用最复杂的混合加密机制(对称加密和非对称加密一起使用)(SSL、TLS、对称和非对称加密稍后会介绍)。...通常,HTTP直接与tcp协议进行通信,当使用SSL时,则HTTP先和SSL通信,再由SSL和TCP进行通信,SSL是独立于HTTP的协议,所以除了HTTP以外,其他应用层协议也可以和SSL配合使用(如...对称和非对称加密 这里的对称描述的是加解密的密钥,如果加密和解密密钥相同,则是对称加密,反之则是非对称加密。...对称加密和非对称加密优缺点 对称加密因为加解密使用的是同一密钥,相对非对称加解密使用不同密钥,对称加密对CPU资源的消耗会更少,速度会更快,更适合大量数据的加密。

    77930

    再有人问你网络安全是什么,把这篇文章丢给他!

    现代密码学将替代密码和换位密码相结合,并利用复杂的加密过程,提高密码的安全性。 现代密码学:对称密钥加密和非对称密钥加密。 对称密钥加密:加密密钥和解密密钥是相同的。...非对称密钥加密(公开密钥加密系统):加密密钥和解密密钥是不同的。...七、网络安全协议 自顶向下各层解决安全性的实例协议 1、安全电子邮件(应用层) 2、安全套接字层SSL(传输层) 3、虚拟与用网VPN和IP安全协议IPSec(网络层) 1、安全电子邮件(电子邮件对网络安全的需求...(如RSA)、对称加密算法(如3DES)、散列算法(如SHA-1) 2、  网络安全协议 安全套接字层SSL 1、一般Web服务器越强大,包含安全漏洞的概率越高。...虚拟转用网一般指的是构建在Internet上能够自我管理的专用网络;关键技术:隧道技术,如IPSec。

    77960

    保护数字通信: 网络协议中的机密性、完整性与可用性

    网络协议中的机密性主要通过加密技术实现。加密是将原始数据转换为无法被理解的形式,只有在授权的接收方解密后才能读取。常见的加密算法包括对称加密和非对称加密。...在对称加密中,发送方和接收方使用相同的密钥进行加密和解密。这种方法简单高效,但密钥的安全性需要保证。而非对称加密使用公钥和私钥配对,公钥用于加密数据,私钥用于解密数据。...这种方式更安全,但加密解密的过程较为复杂。 网络协议如HTTPS使用SSL/TLS来实现机密性。SSL/TLS通过对网络通信进行加密,确保数据在传输过程中不会被窃取或篡改。...数字签名结合了摘要算法和非对称加密技术。发送方使用私钥对消息进行加密生成数字签名,接收方使用公钥对签名进行解密验证签名的合法性。通过这种方式,接收方可以确保接收到的数据是由发送方所发送,并且未被篡改。...当谈到网络协议中的机密性、完整性和可用性时,一个常见的应用场景是使用加密算法来保护敏感数据的传输和存储。下面是一个使用Python的示例代码,演示如何在网络通信中应用加密算法。

    59810

    一篇读懂HTTPS:加密原理、安全逻辑、数字证书等

    4.1 对称加密与非对称加密 为了保证消息的保密性,就需要用到加密和解密。加解密算法目前主流的分为对称加密和非对称加密。...这样客户端在发送消息前,先用服务器的公匙对消息进行加密,服务器收到后再用自己的私匙进行解密。...第二件是中间人可以不替换公匙,但是他可以截获客户端发来的消息,然后篡改,然后用服务器的公匙加密再发往服务器,服务器将收到错误的消息; 2)非对称加密的性能相对对称加密来说会慢上几倍甚至几百倍,比较消耗系统资源...这套整合的技术我们称之为SSL(Secure Scoket Layer 安全套接层)。 所以https并非是一项新的协议,它只是在http上披了一层加密的外壳。 ...7、参考资料 [1] 通俗理解数字签名,数字证书和https [2]一个故事讲完https [3] 图解HTTP 附录:更多安全方面的文章 《即时通讯安全篇(一):正确地理解和使用Android端加密算法

    1K30

    一篇读懂HTTPS:加密原理、安全逻辑、数字证书等

    4.1 对称加密与非对称加密 为了保证消息的保密性,就需要用到加密和解密。加解密算法目前主流的分为对称加密和非对称加密。...非对称加密的缺点: 1)非对称加密时需要使用到接收方的公匙对消息进行加密,但是公匙不是保密的,任何人都可以拿到,中间人也可以。...第二件是中间人可以不替换公匙,但是他可以截获客户端发来的消息,然后篡改,然后用服务器的公匙加密再发往服务器,服务器将收到错误的消息; 2)非对称加密的性能相对对称加密来说会慢上几倍甚至几百倍,比较消耗系统资源...这套整合的技术我们称之为SSL(Secure Scoket Layer 安全套接层)。 所以https并非是一项新的协议,它只是在http上披了一层加密的外壳。  ?...7、参考资料 [1] 通俗理解数字签名,数字证书和https [2]一个故事讲完https [3] 图解HTTP 附录:更多安全方面的文章 《即时通讯安全篇(一):正确地理解和使用Android

    1.4K00

    简述https的几种加密方式

    非对称加密的使用方式就是,比如A想将数据传输给B,那么首先A会向B索取一份公钥,A拿到公钥之后,通过该公钥对数据进行非对称加密,然后将密文传输给B,B收到密文之后通过私钥将其进行解密,从而得到数据内容。...常见的非对称加密算法:RSA、Elgamal、背包算法、Rabin。 RSA这种加密算法应用非常广泛,如SSH、HTTPS、TLS、电子证书、电子签名、电子身份证等。...加密方式总结 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高; 非对称加密使用了一对密钥,公钥和私钥,所以安全性高,但加密与解密速度慢; 解决的方法是将对称加密的密钥使用非对称加密的公钥进行加密...,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。...SSL/TLS:安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别和保密。这里TLS是SSL的一种实现。

    5.1K30

    非对称加密与OpenSSL

    前言 一般来说,常见的数字加密方式都可以分为两类,即对称加密和非对称加密....对于对称加密来说, 加密和解密用的是同一个密钥, 加密方法有AES,DES,RC4,BlowFish等; 对应的, 非对称加密在 加密和解密时, 用的是不同的密钥, 分别称为公钥或私钥....OpenSSL是一个开源项目,为传输层安全(TLS)和安全套接字(SSL)协议提供了比较完整的实现, 同时也致力于将自身打造为一个通用的密码学工具集....虽然公私钥加密很好用, 但事实上非对称加密的缺点是加解密速度要远远慢于对称加密, 在某些极端情况下, 甚至能比非对称加密慢上千倍....http协议的基础上对传输内容进行了非对称的加密, 当然实现过程多了很多复杂的交互, 感兴趣的可以去查看SSL和TLS协议.

    95640

    加解密算法分析与应用场景

    非对称与对称加密算法对比非对称加密算法与对称加密算法是两种不同的加密技术,它们在加密和解密方法、密钥管理、安全性和速度等方面存在显著差异。 加密和解密方法对称加密:使用单一密钥进行加密和解密。...速度对称加密:由于使用相同的密钥进行加密和解密,速度较快,适用于大规模数据的传输和处理。非对称加密:由于密钥生成和数学计算的复杂性,速度较慢。...这种方法通常涉及使用对称加密和非对称加密算法的组合,以及其他可能的增强措施,如密钥交换协议、数字签名和消息认证码(MACs)。...数字签名:使用非对称加密算法(如RSA或ECDSA)对消息进行签名,以确保消息的完整性和来源的真实性。签名通常与消息一起发送,并由接收方使用发送方的公钥进行验证。...数据加密:Alice使用这个共享的秘密密钥和对称加密算法(如AES)来加密她的消息。数字签名:Alice使用她的私钥和非对称加密算法(如RSA)对加密后的消息进行签名。

    49830

    如何在 Spring Boot 中实现在 Request 里解密参数返回的功能?

    在实际的项目开发中,我们经常需要对传递的参数进行加密,在服务端进行解密后再进行处理。本文将介绍如何在 Spring Boot 中实现在 Request 里解密参数返回的功能。1....Java SE 的扩展包,提供一系列加密算法、密钥生成器、数字签名、消息摘要等加密和安全相关的类和接口。...JCE 加密库主要包含两个方面:对称加密和非对称加密。对称加密就是加密和解密使用同一个密钥的加密方式,其加密速度快,适合加密大量数据。...而非对称加密则是指使用一对不同的密钥进行加密和解密操作,其中一个密钥为公钥,另一个为私钥,公钥可公开,私钥则保持机密。非对称加密相比对称加密更加安全,但是加密速度相对较慢。...在本例中,我们对所有请求进行拦截,以确保所有传递的参数都能够进行解密操作。4. 总结本文介绍了如何在 Spring Boot 中实现在 Request 里解密参数返回的功能。

    1.2K21

    浏览器 HTTPS 协议的相关知识点有哪些?

    前言 在当今互联网时代,保护用户数据的安全性和隐私成为至关重要的任务。HTTPS协议作为一种安全的通信协议,为网络传输提供了加密和认证的功能,被广泛应用于网站和应用程序中。...它通过使用加密和认证机制来保护通信过程中的数据安全性和完整性。...HTTPS的加密机制 1 对称加密 对称加密使用相同的密钥进行加密和解密操作,速度较快,但密钥的安全传输成为问题。 3.2 非对称加密 非对称加密使用一对密钥:公钥和私钥。...公钥用于加密数据,私钥用于解密数据。公钥可以公开发布,而私钥只有服务器拥有。 3.3 数字证书 数字证书用于验证服务器的身份和公钥的真实性。...void configure(HttpsParameters params) { try { // 获取SSL套接字引擎

    17320

    【Java核心面试宝典】Day19、你猜HTTP协议会有什么面试题?

    在此专栏《Java核心面试宝典》记录我们备战梦想的【day 19】! HTTP和HTTPS大家都知道吧?那你知道他们的连接方式、区别、加密方式等等吗?...被用于在web浏览器和网站服务器之间传递消息,HTTP使用TCP协议作为它的支撑运输层协议,其默认工作在TCP协议的80端口,HTTP客户机发起一个与服务器的TCP连接,一旦连接建立,浏览器和服务器进程就可以通过套接字接口访问...TCP,客户机从套接字接口发送HTTP请求报文和接收HTTP响应报文,类似的,服务器也是从套接字接口接收HTTP请求报文和发送HTTP响应报文。...三、HTTPS的加密方式是怎样的? HTTPS采用对称和非对称相结合的方式,首先使用SSL/TLS协议进行加密传输, 为了弥补非对称加密的不足,HTTPS采用证书来进一步加强非对称加密的安全性。...通过非对称加密,客户端和服务器协商好进行通信传输的对称密匙,后续的所有信息通过该对称密匙进行加密解密,完成整个HTTPS的流程。

    35720

    安全的数据库图形管理工具(1):准备密钥

    因此,加密传输的技术诞生了。加密算法目前分为两种——对称加密和非对称加密。...对称加密是发送方用某种加密算法加密,接收方接收到密文之后再使用对应的解密算法解密,也就是加密和解密使用同一个密钥,如果中间人窃取了密文并破解那后果不堪设想。因此,更安全的非对称加密诞生了。...非对称加密与对称加密不同的是它有两个密钥——公钥和私钥。公钥是公开的,可以给任何人;私钥只能你自己保管。...客户端测试程序 客户端测试程序需要加载自己的私钥和对方的公钥,然后把发送的数据用对方的公钥加密并发送给对方,接着接收对方发来的加密的数据。最后解密接收的数据并输出。...s = socket.socket() # 创建套接字对象 host = "111.230.108.44" # 服务器的IP地址 port = 1234 # 服务器程序的端口号

    1.2K20

    Java - 深入理解加密解密和签名算法

    下面将对比分析对称加密、单向加密和非对称加密这三种加密方式的原理、优缺点以及适用场景,以便让非专业人士也能理解它们之间的区别和特点。 一、对称加密 原理:对称加密使用相同的密钥进行加密和解密操作。...适用场景:单向加密适用于数据完整性验证、密码存储和身份认证等场景。 三、非对称加密 原理:非对称加密使用一对密钥进行加密和解密操作,分别为公钥和私钥。公钥用于加密数据,私钥用于解密数据。...加密工具 OpenSSL是一个开放源代码的软件库,它实现了安全套接字层(SSL)和传输层安全(TLS)协议,同时还包含了多种加密算法和工具。...非对称加密 非对称加密,又称为公钥加密,是现代密码学中的一项重要技术。与传统的对称加密方法(即使用相同的密钥进行加密和解密)不同,非对称加密采用了两个数学上相关但截然不同的密钥:公钥和私钥。...应用领域 非对称加密在网络安全领域有着广泛的应用,包括: 安全套接层(SSL)/传输层安全(TLS):用于保护网页浏览、电子邮件和其他基于互联网的应用程序的通信。

    38100

    HTTPS与HTTP

    HTTPS:安全套接字层超文本传输协议HTTP+SSL HTTP:客户端和服务器端传递的是明文的消息。 HTTPS:将明文进行加密后再在客户端和服务器之前进行传递。...HTTPS采用非对称加密和对称加密两种加密方式来保证传输信息的安全性: 非对称加密:用公钥和私钥来加解密(有同学这里不懂的话可以看看资料)。 对称加密:加密解密都用同一套秘钥。...注:非对称加密更加安全,对称加密速度更快。 https的请求流程: 客户端(浏览器)向服务器请求https连接。 服务器返回证书(公钥)到客户端。 客户端随机的秘钥A(用于对称加密)。...客户端用公钥对A进行加密。 客户端将加密A后的密文发送给服务器。 服务器通过私钥对密文进行解密得到对称加密的秘钥。 客户端与服务器通过对称秘钥加密的密文通信。...四、如果找到了,就会取出其中的公钥,对证书内的签名进行解密。 五、使用相同的Hash算法对签名进行去摘要并与服务器发来的摘要进行对比。 六、如果对比一致,则合法,这样就得到公钥了。

    68030
    领券