Window Server 2019--07 PKI、SSL网站与邮件安全

article/2025/8/26 7:23:53
  • 了解PKI、SSL技术的核心原理
  • 掌握PKI架构服务器配置
  • 掌握证书管理与应用

公钥基础设施(Public Key Infrastructure,PKI)是一个完整的颁发、吊销、管理数字证书的系统,是支持认证、加密、完整性和可追究性服务的基础设施。PKI通过第三方可信任机构——数字证书认证机构(Certificate Authority,CA),将用户的公钥和用户的其他标识信息,如名称、E-mail、身份证号等捆绑在一起,用于网络用户的身份认证。信息在传输过程中应用基于PKI架构与数字证书结合的安全体系,实现对信息的加密与数字签名,从而保证信息在传输过程中的安全性、完整性、真实性和不可抵赖性。

安全套接层(Secure Socket Layer,SSL)是一种以PKI为基础、为网络通信提供安全性及数据完整性的安全协议。SSL协议位于应用层和传输层之间,能够为基于TCP(提供可靠连接)的应用层协议提供安全性保证。目前SSL证书被应用于各个行业,包括金融、医疗、政府等。通过在用户浏览器与服务器之间建立SSL加密通道,将数据进行加密后传输,可以大大降低数据传输在传输过程中被第三方窃取或篡改的风险。

对于电子邮件,目前安全性最高的方式是利用数字证书对邮件进行加密和数字签名。数字证书一般有公用密钥、私人密钥和数字签名3部分组成。对邮件进行数字签名时,邮件会包含数字签名与公用密钥,接收者利用收到的公用密钥检查数字签名并还原邮件内容。另外,接收者还可以利用发送者的公用密钥对邮件进行加密,此时只有发送者的私人密钥能解密邮件内容。

7.1 什么是PKI、SSL

随着信息技术的发展,电子商务已经逐渐被人们所接受,在整个电子商务的交易过程中安全性是否得到保障显得格外重要。首先在网上进行电子交易时,由于交易双方并不在现场,因此无法确认双方的合法身份;其次由于交易信息是交易双方的商业秘密,所以在网上传输的时候必须保证其安全性,防止信息被窃取;另外,在交易过程中一旦发生纠纷,第三方必须能够提供仲裁。因此,电子商务交易过程应能实现身份认证、安全传输,并保证不可否认性、数据完整性。由于数字证书认证技术采用了加密传输和数字签名,能够实现上述要求,因此其在国内外电子商务交易中得到了广泛的应用。

PKI是指用公钥概念和技术来实施和提供安全服务的安全基础设施。它的主要目的是通过自动管理密钥和证书,为用户建立一个安全的网络运行环境,使用户可以在多种应用环境下方便地使用加密和数字签名技术,从而保证网上数据的机密性、完整性和不可抵赖性。数据的机密性是指数据在传输的过程中不会被非授权者窃取,数据的完整性是指数据在传输的过程中不会被非法篡改,数据的不可抵赖性是指数据不能被否认。

安全套接层协议是由网景(Netscape Communication)公司设计开发的,它指定了在应用程序协议(如HTTP、Telnet、FTP)和传输通信协议(TCP/IP)之间提供数据安全性分层的机制,是一种在TCP/IP上实现的安全协议,其采用公开密钥技术,为TCP/IP连接提供数据加密、服务器认证、数据完整性以及可选的客户机认证。由于此协议很好的解决了互联网明文传输的不安全问题,因此很快得到了业界的支持,并已经成为了国际标准。

b站PKI讲解

视频:【证书与PKI】| 公钥证书 | 证书 | PKI |公钥基础设施 | 公开密钥基础设施 | 密钥分发| 密码学| 信息安全_哔哩哔哩_bilibili

ppt:Docs

7.2 PKI、SSL技术核心原理与应用

7.1.2 公钥加密

PKI通过公钥加密(Public Key Encryption)技术确保数据传输的安全性。要使用该技术完成对数据的加密及解密,用户需准备一对密钥,分别是公钥与私钥。

(1)公钥:公钥(Public Key)对其他用户是公开的。

(2)私钥:私钥(Private Key)是用户私有的,且存储在用户的计算机内,只有用户自己可以使用。

下图所示为公钥加密技术的实现过程。

(1)用户A使用用户B的公钥对发送的信息进行加密。

(2)通过Internet将密文发送给用户B。

(3)用户B使用自己的私钥进行解密。

对称加密:

对称加密原理 - 一种古老的加密方式_哔哩哔哩_bilibili

非对称加密:

非对称加密原理 - 公钥和私钥是天生的一对_哔哩哔哩_bilibili

7.2.2 数字签名

用户可以利用公钥验证(Public Key Authentication)技术对发送的数据进行数字签名,从而验证数据的完整性和不可抵赖性。

下图为数字签名的实现过程:

(1)用户A用自己的私钥对数据进行数字签名。

(2)通过Internet将密文发送给用户B。

(3)用户B使用用户A的公钥对数据进行解密,从而验证数据是由用户A发送的,并且在传输的过程中没有被篡改。

这种使用公钥加密、私钥解密或者私钥加密、公钥解密的方法称为非对称式(ASymmetric)加密。如果加密、解密都使用同一个密钥,则称为对称式(Symmetric)加密。

使用密钥(公钥、私钥)既能加密信息,又能实现数字签名,从而保证数据传输的安全性,但是如何保证密钥不被冒充呢?现阶段的解决方案是使用数字证书。因此标准的PKI体系通常具备以下7个部分。

(1)数字证书认证机构CA

CA是PKI的核心执行机构,是PKI的主要组成部分,通常称为认证中心。CA的主要职责包括以下5点:

验证并标识证书申请者的身份。

确保CA用于证书签名的非对称密钥的质量和安全性。

管理证书信息资料。

管理证书序号和CA标识,确保证书主体标识的唯一性。

确定并检查证书的有效期,发布和维护作废证书列表(CRL)

CA是确保电子商务、电子政务、网上银行、网上证券等交易权威性、可信任性和公正性的第三方机构。

(2)证书和证书库

证书是数字证书或电子证书的简称,它符合X.509标准,是具备权威性、可信任性和公正性的第三方机构签发的,因此,它是权威性的电子文档。

证书库是CA颁发证书和撤销证书的集中存放地,可供公众进行开放式查询。证书库支持分布式存放,即可以将与本组织相关的证书和证书撤销列表存放到本地,以提高证书的查询效率。

(3)密钥备份与恢复

由于用户可能将用来解密数据的密钥丢失,从而使已被加密的密文无法打开,所以为避免这种情况发生,PKI提供了密钥备份和密钥恢复的机制。当用户证书生成时,加密密钥即被CA备份存储;当需要恢复密钥时,用户只需要向CA提出申请,CA就会为用户自动恢复密钥。

(4)密钥和证书的更新

一个证书的有效期是有限的,在实际应用中,由于长时间使用同一个密钥会提升密钥被破译的风险性,因此PKI会对已发布的密钥或证书进行更新。证书更新一般由PKI系统自动完成,不需要用户干预。在有效期结束之前,CA会自动启动更新程序,生成一个新证书来替代旧证书。

(5)证书历史档案

对于同一个用户,证书的定期更新会生成多个旧证书和至少一个当前使用的新证书。这些旧证书以及相应的私钥就组成了用户密钥和证书的历史档案。

(6)客户端软件

客户端软件用于实现数字签名、加密传输数据、在认证过程中查询证书和相关证书的撤销信息,以及进行证书路径处理、对特定文档提供时间戳请求等。

(7)交叉认证

交叉认证指多个KPI域之间实现互操作。

7.2.3 SSL网站安全连接协议

SSL是一个以PKI为基础的安全性通信协议,网站拥有SSL证书后,浏览器与网站之间就可以通过SSL安全连接进行通信,此时URL路径中的http改为https。例如,在登录网上银行时,一般会使用SSL协议,如下图所示:

浏览器和网站之间建立SSL安全连接时,通常会采用三次握手的协商过程,建立一个双方都认可的会话密钥(Session Key),并使用该密钥对传输的数据进行加、解密以及验证数据是否被篡改。

下图为SSL协议的三次握手的过程:

7.2.4 PKI和SSL技术的运用

PKI、SSL技术的应用领域包括电子商务、电子政务、网上银行、网上证券等金融业网上交易业务以及电子邮件、文件传输等。PKI作为安全基础设施,可以根据不同的安全需求为不同的用户提供多种安全服务。例如,在电子商务应用中,PKI将公钥加密系统用于加密订货单信息、支付信息以及验证签名等方面。SSL使用数据加密、身份验证和消息完整性验证机制,基于TCP和其他应用层协议提供可靠的连接安全保障。PKI和SSL两者结合,保障了整个交易过程的安全性、可靠性、保密性和不可否认性。

7.3 PKI架构服务器配置及证书的应用(实验)

实例场景:A公司由于业务需要,将基于PKI架构升级内部网络服务,在不改变网络现有环境的情况下,如何使用证书保护Web服务器和FTP服务器,为用户提供安全的SSL连接?如何使用证书对电子邮件进行加密和签名呢?

网络拓扑:A公司网络拓扑图如下图所示。Win2019-1是公司内部网络中的DNS服务器、Web服务器、FTP服务器以及邮件服务器。Win2019-2作为独立根CA。Win2019-3和Win2019-4分别是两台客户端。

解决办法:基于PKI架构配置服务器与客户端,使其均信任独立根CA。Win2019-1服务器向CA申请数字证书并应用于Web服务和FTP服务,客户端与服务器之间建立SSL安全连接。客户端向CA申请电子邮件保护证书,用于对邮件进行加密和签名。

7.3.1 配置证书颁发机构

无论是私钥、公钥,还是SSL安全连接,都需要使用数字证书,因此在进行服务器配置时,首先需要配置的就是证书颁发机构(CA)。

在安装、配置CA之前,需要先安装Web服务器(IIS),用于发布根CA。IIS的安装步骤请参照5.2节相关内容。

1、安装Active Directory 证书服务

(1) 在Win2019-2服务器上,单击“服务器管理器”——>“管理”→“添加角色和功能“中选择”Active Directory证书服务”复选框

(2)其它默认下一步,在“角色服务”栏中,勾选“证书颁发机构”“证书颁发机构Web注册”复选框。

(3)持续单击“下一步”按钮,直至安装完成。最后不要点击“关闭”按钮,此时还需要单击“配置目标服务器上的Active Directory证书服务”链接进行相关设置。

(4)如果不小心关闭了该界面,则可以重新打开“服务器管理器”窗口,单击右上角菜单栏中的旗形图标,在弹出的下拉菜单中单击“配置目标服务器上的Active Directory 证书服务”链接

2、配置Active Directory 证书服务

(1)在“AD CS配置”窗口中,持续单击“下一步”,直至出现“角色服务“界面,勾选”证书颁发机构“”证书颁发机构Web注册“复选框。

(2)单击下一步按钮,在”设置类型“界面指定CA的设置类型,选择”独立CA“单选按钮

(3)单击下一步,指定CA类型,选择”根CA“单选按钮,使其成为本实验中的唯一CA

(4)单击下一步,指定私钥类型,这里创建的是CA的私钥,CA拥有私钥后,才可以为客户端颁发证书。选择”创建新的私钥“单选按钮。

(5)单击下一步,指定加密选项,其中包括”选择加密提供程序“”密钥长度“”选择对此CA颁发的证书进行签名的哈希算法“等选项。一般采用默认设置即可。

(6)单击下一步,指定CA名称

(7)指定证书有效期,这里设置的是CA生成证书的有效期,默认为5年

(8)指定证书数据库的位置

(9)单击下一步,在”确认“界面中点击”配置“按钮,完成整个配置过程。

(10)在“服务器管理器”面板中,选择“工具”→“证书颁发机构”,打开“certsrv-[证书颁发机构(本地)]”窗口

7.3.2 使用数字证书保护Web网站

Web服务器必须信任独立根CA,才能向其申请证书,并将申请成功的证书绑定在网站上。

1、在Web服务器(Win2019-1)上下载CA证书

在Web服务器上下载CA证书,并将其导入服务器“受信任的根证书颁发机构”列表中,这样才能使Web服务器信任由根CA生成并颁发的数字证书。

(1)根据网络拓扑图,CA(Win2019-2)的IP地址为192.168.1.2,因此在Web服务器(Win2019-1)打开IE浏览器,输入网址“http://192.168.1.2/certsrv”,在打开的页面中,单击“下载CA证书、证书链或CRL”链接。

(2)单击“下载CA证书”链接,下载并保存根CA证书文件。

这里我自己创建了个文件夹放证书,这个证书还要用,要能找到。

(3)“Win+R”打开运行对话框,输入“mmc”,打开“控制台1”窗口,在菜单栏中单击“文件”→“添加/删除管理单元”选项

(4),弹出“添加或删除管理单元”对话框,单击左侧“可用的管理单元”列表中的“证书”选项,单击“添加”按钮,在弹出的“证书管理单元”对话框中

(5),选择“计算机账户”单选按钮,一次单击“下一步“”完成“按钮,这样就在控制台中添加了”证书管理单元“

(6)在控制台左侧的列表中,单击展开”受信任的根证书颁发机构“文件夹,右键单击"证书“选项,在弹出的快捷菜单中选择”所有任务“→”导入“

(7)在弹出的”证书导入向导”对话框中,单击浏览,找到我们刚才保存的CA证书

(8)选择“将所有证书都放入下列存储”单选按钮,将证书存储到“受信任的根证书颁发机构”中。

(9)证书导入成功

2、在Web服务器上建立证书申请文件。

(1)在Web服务器(Win2019-1)上配置DNS服务,添加“szpt.com"域,并新建Win2019-1主机记录,详细步骤参考4.2.1节第二步。

(2)在“服务器管理器”中找到“IIS管理器”,在Win2019-1主页界面找到“服务器证书”

(3)选择“服务器证书”选项,在右侧的操作列表中单击“创建证书申请”链接

(4)在弹出的“申请证书”对话框中,填写对应的文本框内容。因为在本实例中使用了Windows域,所以“通用名称”必须与域名一致,在第(1)步中,已经为“szpt.com"域设置了相对应的主机记录,因此这里的通用名称填写”Win2019-1.szpt.com"

(5)单击下一步,“加密服务提供程序”“位长”用来指定网站公钥的密钥长度,一般使用默认值。

(6)单击下一步,设置证书申请文件名与存储位置(C:\webcert.txt)

3、Web服务器将证书申请文件提交到根CA,根CA审核通过并颁发后,Web服务器再从根CA下载该证书文件。

(1)载Web服务器(Win2019-1)上打开IE浏览器,输入网址“http://192.168.1.2/certsrv”

(2)单击“申请证书“链接,然后点击“高级证书申请链接”

(3)单击”使用base64编码的CMC或PKCS #10文件提交一个证书申请,或使用base64编码的PKCS #7文件续订证书申请“链接

(4)在Web服务器上,双击打开在第二步中生成的证书申请文件(C:\webcert.txt),将该文件的所有内容,复制到保存申请的文本框中

(5)单击”提交“按钮后将会成功发起证书申请,此时证书会被挂起,还需要CA管理员对其进行审核并颁发

(6)在根CA(Win2019-2)中,选择”服务器管理器“——》”工具“——”证书颁发机构“

(7)在证书颁发面板中,点击本机,选择”挂起的申请“,在右侧会出现,我们在Win2019-1中申请的证书,这时点击右键,进行”颁发“

(8)在Web服务器(Win2019-1)的IE浏览器中输入”http://192.168.1.2/certsrv“,单击”查看挂起的证书申请状态“链接,页面显示证书已经通过审核并颁发

(9)单击”保存的申请证书“链接,将证书下载到Web服务器,证书的保存路径为C:\User\Administrator\Desktop\certnew.cer",就是放桌面上

(10)保存成功

4、Web服务器安装证书并启用SSL

(1)在Web服务器(Win2019-1)中,打开IIS管理器,选择”服务器证书“

(2)单击右侧”操作“列表中的”完成证书申请“链接

(3)在打开的”完成证书申请“对话框中,选择在第三步中保存的证书文件,在”好记名称“文本框中输入”Web“,表示这是用于Web服务的证书,最后点击”确认“按钮完成整数的申请。

成功!

(4)在IIS管理其中,双击右侧列表中的”添加网站”

(5)设置网站信息

(6)在网站的物理路径中新建Index.html文件,内容为“这是Win2019-1 Web服务器上的主页“

(7)把Win2019-1的默认文档,设置为”index.html“

(8)点击Win2019-1,选择最右侧”操作“栏中的”绑定"

(9)点击“添加”

(10)在添加网站绑定对话框中,把类型选择为“https”,在SSL中选择“Web”,点击确定,完成证书绑定

5、客户端浏览器建立与Web服务器之间的SSL链接

1、在客户端浏览器要想实现安全访问,首先客户端必须先信任证书颁发机构,这里需要进行配置,

在Win2019-3中按照7.3.2的第一步“1、在Web服务器(Win2019-1)上下载CA证书”,再来一遍。

2、在客户端(Win2019-3)中打开IE浏览器,输入网址“https://win2019-1.szpt.com",出现如下图所示内容,访问成功

7.3.3 FTP over SSL功能

Windows Server 2019的FTP服务支持FTP over SSL功能,即客户端与FTP服务器之间可以利用SSL实现安全连接。

在IIS管理器中设置FTPSSL:

(1)在Web服务器(Win2019-1)上配置DNS服务,在“szpt.com”域中,新建“ftptest”主机记录,详细步骤参考4.2.1节第二步。

(2)打开“Internet Information Services(IS)管理器”窗口,新建FTP站点,名字为“ftptest”

(3)进行FTPSSL设置,在“SSL证书”下拉列表中选择在7.3.2节中申请好的证书(“好记名称”为“Web”),“SSL策略”选择“需要SSL连接”单选按钮,单击“应用”链接,如图所示。完成设置后,客户端就可以通过SSL安全连接方式来连接FTP服务器。

(4)新创建一个服务器Win2019-4,作为另一台客户端,IP为“192.168.1.4”,把它的防火墙、Lan段配置好。

(5)用win2019-4访问“ftp://ftptest.szpt.com",基于SSL的安全站点FTPS,访问成功!

7.3.4 使用数字证书保护电子邮件(实验略)

对电子邮件进行加密和签名的数字证书需要绑定电子邮箱地址。经过加密的电子邮件可以保证在传输过程中不被篡改,经过签名的电子邮件可以保证邮件具有不可抵赖性,确保邮件通信双方身份的真实性。

数字证书保护电子邮件的原理如图所示:

1、在DNS服务器中添加邮件服务器的主机记录

在DNS服务器(Win2019-1)上打开DNS,在”szpt.com“区域中新建两个主机记录:“pop3”“smtp”

2、在Win2019-1上安装邮件服务Winmail

(1)在Winmail官网下载该软件

官网:Winmail 邮件服务器软件::下载

百度网盘下载链接:百度网盘 请输入提取码 提取码:6666

(2)安装过程使用默认选项,并按照提示要求设置admin账户的登录密码,如下图所示:

(3)打开Winmail服务器程序,在“快速设置向导中新建邮箱,设置密码,下方显示设置成功结果

(4)再创建一个邮箱”u2@szpt.com“

(5)打开Winmail管理端工具,本地登录

(6)这里可以在”用户管理“中看到u1、u2两个用户

3、安装邮件客户端软件

(1)在win2019-4上安装客户端软件Foxmail,安装软件在和上面的Winmail都放在百度网盘中了,上面翻连接。

7.4 证书管理

证书的管理包括CA的备份与还原、CA的证书管理及导入导出证书

7.4.1 CA的备份与还原

CA的备份与还原,主要针对CA的私钥、CA证书、证书数据库以及证书数据库日志进行备份与还原。通过指定备份目录,设置访问密码,提高备份内容的安全性。

1、CA的备份

(1)在根CA服务器上(Win2019-1)选择”工具“——”证书颁发机构“,选择”WIN2019-2-CA“——”所有任务“——”备份CA“。

(2)选择要备份的项目,和备份存放路径

(3)设置备份目录访问密码

(4)完成备份

2、CA的还原

和CA备份步骤相似

7.4.2 CA的证书管理

CA的证书管理包括吊销证书、发布证书吊销列表(CRL)等。用户申请的证书有一定的有效期限,但是如果发生密钥泄露、业务终止、证书更新等情况,则需要提前将证书吊销,同时CA会发布一个证书吊销列表,列车被认为是不能再使用的证书的序列号。

(1)在根CA服务器(win2019-2)上,选择”证书颁发“,点击左侧列表中的”颁发的证书“选项,在右侧的界面中右键单击需要吊销的证书

(2)设置理由码和”日期时间“后,单击”是“按钮,再去点击”吊销的证书“,可以看到已经被我们吊销的证书

CA能够自动或手工发布证书吊销列表(CRL),网络中的计算机通过下载CRL,就可以知道哪些证书已经被吊销

(3)右键单击”吊销的证书“选项,在弹出的快捷菜单中选择”所有任务“——”发布“命令,可以发布更新的CRL。

(4)在客户端(Win2019-3)打开IE浏览器,输入地址”http://192.168.1.2/certsrv",单击“下载CA证书、证书链或CRL“链接,在打开的页面中单击”下载最新的基CRL“链接即可

(5)下载完成后,右键单击该文件,在弹出的快捷菜单中选择”安装CRL“命令,即CRL更新发布成功。


http://www.hkcw.cn/article/qdeacBEFfj.shtml

相关文章

BigemapPro 数据坐标转度分秒格式教程

有用户在使用BigemapPro时遇到这种情况:尽管已将坐标格式设置为度分秒,但数据属性表中的经纬度却依旧显示为十进制,这是什么原因呢? 遇到这种情况不要慌,只需通过新增字段并赋值为度分秒格式就可以解决。 操作步骤 1…

逻辑回归知识点

一、逻辑回归概念 逻辑回归(Logistic Regression)是一种广泛应用于分类问题的统计方法,尤其适用于二分类问题。 注意: 尽管名称中有"回归"二字,但它实际上是一种分类算法。 解决二分类的问题。 API:sklearn.linear_model.Logis…

【excel宏基础】“在第一格按下ctrl+下箭头跳到最后一格的过程没有被记录在代码中,导致录入信息的时,不能实现自动找到最后一格录入信息”问题解决方法之一

一、问题描述 需求:在“信息录入”表中输入姓名、部门、身份证,点击“确认”,使信息自动录入到信息汇总的“引用表”中。 问题:录制宏时,按照三的视频教程,在第一格按下ctrl下箭头跳到最后一格的过程没有…

《智能医学》征稿通知:7天可见刊,专科及以上可发表

香港科学出版社(Hong Kong Scientific Publishers Journals)是一家全球独立高质量的学术出版机构,遵循国际开放获取的出版(OA)原则。现已与科检易学术携手共同征集高质量文章。目前可出版来自高等学校、科研院所和企业的先进科技成果。包括理、工、农、医、经、管、…

2025.05.29【Network】多组学分析:网络互作图绘制

Customization Explore all the parameters offered by the igraph package to customize chart appearance. Layout algorithm Several layout algorithm are offered by the igraph package. Learn how to use them and what are the possibilities. 文章目录 Customizatio…

如何选择适合团队的项目管理工具

选择适合团队的项目管理工具需综合考虑团队规模、项目类型、使用便捷性、功能丰富性、成本预算等因素,其中团队规模的匹配度尤为重要,不同规模团队适用的项目管理工具也不尽相同,合适的工具能够有效提高团队协作效率。 一、团队规模与工具匹配…

基于ubuntu安装hadoop

前言 提起大数据,就会觉得很厉害,将众多的数据整合在一起,在有条理的呈现在屏幕前的我们。有时候可能会想到底是什么在支撑着大数据,大数据的出现,方便了我们日常生活中的方方面面。那这些海量的数据计算机是怎么存储和…

如何在线免费将音乐伴奏提取

一键分离人声与伴奏!让音乐创作再无边界!有时我们想要学习某首歌曲,需要将人声和伴奏进行分离,如何将音乐人声提取出来呢。 音乐分离工具:在线音乐人声提取 - 分离音频人声与伴奏 - iLoveOFD在线 在线音乐人声提取工…

使用SCSS实现随机大小的方块在页面滚动

目录 一、scss中的插值语法 二、方块在界面上滚动的动画 一、scss中的插值语法 插值语法 #{}‌ 是一种动态注入变量或表达式到选择器、属性名、属性值等位置的机制 .类名:nth-child(n) 表示需同时满足为父元素的第n个元素且类名为给定条件 效果图&#xff1a; <div class…

超高频 RFID 读写器(三格电子)

一、 功能概述 本文档是 SG-UHF80 系列超高频 RFID 读写器产品说明书&#xff0c;包含 SG-UHF80-485、 SG-UHF80-TCP &#xff0c;共两个产品。使用框图如下图所示。 1.1 产品功能 本系列产品用来读写超高频 RFID 标签&#xff0c;支持 Modbus_RTU/ModbusTCP 从站功能。 可实…

Java 微服务架构设计:服务拆分与服务发现的策略

Java 微服务架构设计&#xff1a;服务拆分与服务发现的策略 微服务架构作为一种热门的软件架构风格&#xff0c;在 Java 领域有着广泛的应用。它通过将系统拆分为一组小型服务来实现更灵活、可扩展的系统设计。在微服务架构中&#xff0c;服务拆分和服务发现是两个关键环节。本…

信号量的应用:利用信号量实现进程互斥

设置互斥信号量 下面进行详细解释 1. 信号量定义与初始化 semaphore mutex; mutex 1; // 初始化为1信号量定义&#xff1a;semaphore 是定义信号量的类型 &#xff0c;这里定义了一个名为 mutex 的信号量。信号量是一种用于实现进程同步与互斥的机制&#xff0c;本质上是一个…

多模态大模型:开启智能决策的新时代

想要掌握如何将大模型的力量发挥到极致吗&#xff1f;叶梓老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。 1小时实战课程&#xff0c;您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型&#xff0c;以发挥其最大潜力。 CSDN教学平台录播地址…

python模块和包

模块 Python模块(Module) 是一个Python文件&#xff0c;以.py结尾&#xff0c;模块能定义函数、类和变量&#xff0c;模块里也能包含可执行的的代码 每一个模块都能帮助我们快速的实现一些功能&#xff0c;比如实现和时间相关的功能就可以使用time模块&#xff0c;我们可以认…

《仿盒马》app开发技术分享-- 订单列表页(端云一体)

开发准备 上一节我们实现了订单详情的展示&#xff0c;但是我们的确认订单页面只在下单成功后才会出现供用户查看&#xff0c;现在我们要有一个常驻的入口让用户去随时查看自己的订单以及订单状态&#xff0c;订单状态分为多个&#xff0c;还需要给用户提供切换的功能 功能分…

【第3章 文本】3.3 文本的定位

文章目录 水平与垂直定位示例textAligntextBaseline 将文本居中文本的度量绘制坐标轴旁边的文本标签在圆弧周围绘制文本 水平与垂直定位 在canvas中使用 strokeText() 或 fillText() 绘制文本时&#xff0c;需要指定所绘文本的 X 和 Y 的坐标&#xff0c;然而&#xff0c;浏览…

C++哈希

一.哈希概念 哈希又叫做散列。本质就是通过哈希函数把关键字key和存储位置建立映射关系&#xff0c;查找时通过这个哈希函数计算出key存储的位置&#xff0c;进行快速查找。 上述概念可能不那么好懂&#xff0c;下面的例子可以辅助我们理解。 无论是数组还是链表&#xff0c;查…

Java中的设计模式实战:单例、工厂、策略模式的最佳实践

Java中的设计模式实战&#xff1a;单例、工厂、策略模式的最佳实践 在Java开发中&#xff0c;设计模式是构建高效、可维护、可扩展应用程序的关键。本文将深入探讨三种常见且实用的设计模式&#xff1a;单例模式、工厂模式和策略模式&#xff0c;并通过详细代码实例&#xff0…

QT6搭建和使用MQTT

QT6搭建和使用MQTT 1.搭建MQTT环境1.下载源码2.CMake 编译 Qt MQTT 模块3.添加QT MQTT模块4.验证测试 2.MQTT的使用 1.搭建MQTT环境 1.下载源码 1.在GitHub下载对应qt版本的源码 git clone git://code.qt.io/qt/qtmqtt.git -b 6.5.3 这里以6.5.3版本的为例。 这里使用的是VS…

深入了解 C# 异步编程库 AsyncEx

在现代应用程序开发中&#xff0c;异步编程已经成为提升性能和响应能力的关键&#xff0c;尤其在处理网络请求、I/O 操作和其他耗时任务时&#xff0c;异步编程可以有效避免阻塞主线程&#xff0c;提升程序的响应速度和并发处理能力。C# 提供了内建的异步编程支持&#xff08;通…