数字签名 公钥网络传输疑问?

数字签名中公钥是公开,但是发送数据的时候同时包含公钥这个不太理解,如果发送过程中被截取,非法用户再用自己的密钥去签名,把公钥改成的自己的发送给对方,那接收方用接收到的公钥去验证,那肯定验证通过,所以这个公钥应该提前告知对方,而不是通过网络传输,有谁清楚帮忙解释一下嘛?

公钥是公开没错,但是不是随数据一起发出去。我先生成一对密钥,公钥公开,私钥自留;别人要发机密数据给我,就用我公开的公钥加密再发给我,中间人截取没有用,只有我的私钥才能解密。

使用公钥体制加密过程一般是这样的,你说的那种肯定不行。

非法用户再用自己的密钥去签名, 公钥传给对方,这个时候,对方去校验你这个公钥的时候,就会提示不可信,有风险。
实际上,公私钥也是通过证书形式由CA发放的,带有CA的签名,你去获取对方公钥的时候,系统就会校验你证书的合法性,是否有可信机构CA或者下级信任的机构颁发的,不然证书校验就会通不过。