证书信任链

以SSL证书为例:

在购买SSL证书时,就可以获得保护网站安全所需的两个证书,也就是用户证书和中间证书。

用户证书,这里即SSL证书,由 中间证书对应的颁发机构(Encryption Everywhere DV TLS CA - G1)进行颁发,并用中间证书对应的私钥 对颁发的证书进行签名,并把签名放到所颁发的证书结构中。中间证书是由其上级颁发机构 这里指的DigiCert(全球最受信任的证书颁发机构)对其颁发的证书。并用Root CA对应的私钥对中间证书做签名,并放到中间证书结构中。Root CA证书 就是根证书 它是由 DigiCert自己给自己颁发,其根证书结构中的签名是由其自己对应的私钥做的签名,也叫 自签名证书。这就构成一个证书链,根据用户证书找到中间证书,根据中间证书找到根证书。

怎么判断用户证书签名有效:这里又涉及到证书验签的问题。用户证书内的签名,需要通过中间证书的公钥进行验签,中间证书内的签名,需要通过根证书的公钥进行验签。

所以用户拥有SSL证书时,必须也得通过拥有中间证书和根证书,才能验证SSL证书的可信任性。 

一般情况下可信的中间证书和根证书,都已经被安装到浏览器中了。

下面以一个真实的ssl证书进行说明:

双击打开,可以看到证书的颁发者(中间证书),证书有效期。

只有根证书和中间证书 是浏览器 认可可信任的证书,用户的SSL证书才没问题。

查看已安装的中间证书:

cmd命令下:输入certmgr.msc 

 查看已安装的根证书:

将TCGA和GTEx数据合并并去除批次效应的代码步骤如下: 1. 将TCGA和GTEx的原始表达矩阵文件读入,并分别进行初步的数据清洗和归一化,确保数据质量和一致性。 2. 对TCGA和GTEx的表达矩阵文件进行合并,得到一个包含所有样本的大型表达矩阵。 3. 对合并后的表达矩阵进行批次效应校正,可以使用一些批次效应校正算法,比如ComBat、SVA等。 4. 校正后的表达矩阵文件可以用于差异分析和生物学功能解析等进一步分析。 下面是一个Python实现的示例代码: ```python import pandas as pd from scipy import stats from sklearn import preprocessing from sklearn.decomposition import PCA import numpy as np import warnings warnings.filterwarnings('ignore') # 读入TCGA和GTEx的原始表达矩阵文件 tcga_file = 'tcga_expression.csv' gtex_file = 'gtex_expression.csv' tcga_df = pd.read_csv(tcga_file, index_col=0) gtex_df = pd.read_csv(gtex_file, index_col=0) # 进行数据清洗和归一化 tcga_df = tcga_df.dropna(axis=1, how='any') gtex_df = gtex_df.dropna(axis=1, how='any') tcga_df = tcga_df.apply(lambda x: stats.zscore(x), axis=1) gtex_df = gtex_df.apply(lambda x: stats.zscore(x), axis=1) # 合并TCGA和GTEx的表达矩阵文件 df = pd.concat([tcga_df, gtex_df], axis=1) # 进行批次效应校正 batch_var = df.columns.str.extract(r'(\d{2})\.\d{2}')[0] batch_var = pd.factorize(batch_var)[0] batch_var = preprocessing.scale(batch_var) pca = PCA(n_components=1) batch_var = pca.fit_transform(batch_var.reshape(-1, 1)) batch_var = pd.DataFrame(batch_var, index=df.columns, columns=['batch']) df = df.transpose() df = df.subtract(df.mean(axis=0), axis=1) df = df.subtract(batch_var['batch'], axis=0) df = df.transpose() # 输出校正后的表达矩阵文件 output_file = 'merged_expression_corrected.csv' df.to_csv(output_file) ``` 这个示例代码中使用了PCA算法对批次效应进行了校正,如果需要使用其他校正算法,可以进行相应的修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值