Java校验.CER、.pem证书格式以及获取证书有效期

Java SM2 pk12解密验签时报 Unknown named curve: 1.2.156.10197.1.301解决办法 JAVA SM2 pk12 国密解密报错问题 阅读详情
public static void main(String[] args) throws CertificateException, FileNotFoundException {
        CertificateFactory cf = CertificateFactory.getInstance("X.509");
        FileInputStream in = new  FileInputStream("/Users/name/Downloads/cert.pem");
        X509Certificate cert = (X509Certificate) cf.generateCertificate(in);
        cert.checkValidity();    //校验格式,错误抛出异常,可捕捉
        Date effDate = cert.getNotBefore();
        Date expDate = cert.getNotAfter();
        long diff = expDate.getTime() - effDate.getTime();
        System.out.println(diff / (1000 * 60 * 60 * 24));
        System.out.println(effDate);
        System.out.println(expDate);
    }

 

在pem证书读取java.security.cert.CertificateParsingException: signed fields invalid 阅读详情

相关推荐

Java基于BC生成X509v3证书,以及部分扩展Extension的使用

转载请注明出处 https://blog.csdn.net/liweiliang0108/article/details/95191931 直接正题 先来几张图片 使用的BC库 这是个链接bcprov-1.60 这还是个链接bcpkix-1.60 代码下载地址 这是代码下载地址 已集成的扩展信息 BasicConstraints、CRLDIstPoi...

liweiliang0108的专栏 4557

java keytool jks_jdk的keytool生成jks和获取jks的信息,公匙

1.生成jks。执行命令:keytool -genkeypair -alias mytest -keyalgRSA -keypass mypass -keystore mytest.jks -storepass mypass -keystore jks文件保存路径生成的mytest.jks证书中包含我们的密钥 :公钥和私钥。2.利用"keytool -list -v -keystore test...

weixin_31592801的博客 759

PEM、DER、CRT、CER、PFX... 傻傻分不清?一文搞懂X509证书各种格式和扩展名的区别与转换

本文全面解析了X509证书的各种格式(PEM、DER、CRT、CER、PFX等)及其区别与转换方法,帮助开发者快速识别和操作数字证书。通过详细的实战指南和最佳实践,提升在HTTPS配置、双向TLS等场景中的证书管理效率。

weixin_30855099的博客 232

java读取pem格式私钥_SSL证书格式转换 – HTTPS SSL 教程

SSL证书格式转换 – HTTPS SSL 教程 CER/CRT转换为PEM这两种格式的证书可通过直接修改证书文件扩展名的方式转换,如将”server.crt”直接重命名为”server.pem”即可PFX转换为PEMPFX格式一般出现在windows server中,可通过openssl命令转换。提取私钥: openssl pkcs12 -in certname.pfx -nocerts -o...

weixin_39788969的博客 824

Nginx证书转换全攻略:从cer到pem再到crt的完整流程(附常见错误排查)

本文详细解析了Nginx证书格式转换的完整流程,重点涵盖从cer、p12等常见格式转换为Nginx所需的pem或crt格式的具体操作命令与原理。文章深入探讨了证书链的合成方法、Nginx的SSL配置要点,并提供了私钥不匹配、证书链不完整等常见错误的排查思路与深度调试技巧,帮助运维人员高效、安全地完成证书部署。

weixin_29214335的博客 150

PEM证书转换避坑指南:从编码原理到实战解决方案

在网络安全与系统运维中,SSL/TLS证书是保障HTTPS服务、API通信等安全性的基石。其核心原理基于非对称加密与公钥基础设施(PKI),通过证书链实现身份验证与数据加密。证书的编码格式,尤其是PEM与DER两种基础编码方式,直接决定了证书在不同系统与工具间的兼容性。PEM格式采用Base64编码并添加特定边界标记,便于文本传输与配置;而DER是二进制格式,适用于程序处理。实践中,证书格式转换常因编码混淆、空格字符、证书链顺序等问题引发TLS握手失败、服务瘫痪等故障。掌握OpenSSL工具链的诊断与修复能

virusswb的专栏 382

asn1 pem pfx格式证书_SSL中常见密钥格式与证书格式

密钥库文件格式(Keystore)l 格式:JKS 拓展名:.jks/.ksJKS (Java KeyStore): 密钥库的Java实现版本,provider为SUN,java的密钥存储文件,二进制格式,是一种 Java 特定的密钥文件格式, JKS的密钥库和私钥用不同的密码进行保护。l 格式:JCEKS 拓展名:.jceJCEKS (JCE Keystore):密钥库的JCE实现版本,prov...

weixin_36300623的博客 674

数字证书原理与实战:从非对称加密到X.509格式解析

非对称加密是构建现代网络安全通信的基石,它通过公钥与私钥的配对机制,解决了密钥安全分发的核心难题。其技术价值在于为身份认证、数据加密和完整性校验提供了数学保障,广泛应用于HTTPS安全连接、代码签名、电子邮件加密等场景。数字证书作为非对称加密的关键载体,遵循X.509标准,将公钥与持有者身份信息绑定,并由可信的证书颁发机构进行数字签名,从而在网络中建立可验证的信任链。本文以RSA、ECC算法和PEM、DER文件格式为例,深入解析证书的签发、验证及生命周期管理,并提供使用OpenSSL工具进行证书查看与问题排

weixin_30535843的博客 475

java安全架构____多种数字证书简介(X509,cer,pem,pfx,keystore)

.cer证书: 用于存储公钥的一种证书的文件格式通常被用于二进制的DER文件格式(同于.der), 不过也被用于Base64编码的文件 (例如 .pem). (.jks,.keystore,.truststore)证书: (包含公钥私钥 和用户名密码校验) 可以存储多对(公钥和私钥) 只要有alias 和password就可以用java的kstore类读取证书的公钥和私钥 .pfx证书:

1946

证书工具之OpenSSL

1、查看openssl完整版本信息 [root@localhost ~]# openssl version -a OpenSSL 1.0.1e-fips 11 Feb 2013 built on: Mon May 9 09:54:24 CDT 2016 platform: linux-x86_64 options: bn(64,64) md2(int) rc4(16x,int) des(id...

michael_linux的博客,一个小小小学生。滴水穿石,步步为营,只为那刹那芳华。 3488

操作系统知识点汇总(王道)

操作系统不论是就业还是升学都是核心的一门课程,对于大部分工科更是必修课程。本文章是对《王道操作系统》所有知识点的总结笔记,以供大家学习以及在备考期间复习使用。让我们一起把知识往脑子里旋好吗!!!......

S mile0804的博客 5万+

java认证证书模板_证书格式简介 - SSL 证书备份 - 中国数字证书CHINASSL

.cer后缀的证书文件有两种编码-->DER二进制编码或者BASE64编码(也就是.pem)p7b一般是证书链,里面包括1到多个证书pfx是指以pkcs#12格式存储的证书和相应私钥。在Security编程中,有几种典型的密码交换信息文件格式:DER-encoded certificate: .cer, .crtPEM-encoded message: .pemPKCS#12 Persona...

weixin_32267059的博客 436

计算机网络-自顶向下方法 第三章课后习题答案(第七版)

复习题 R1. a) 就叫这个协议为简单传输协议STP(Simple Transport Protocol)。在发送方,STP从发送进程接收不超过1196字节的数据块、目标主机地址和目标端口号。STP向每个块添加一个4字节的头,并将目标进程的端口号放在头中。STP然后将目标主机地址和结果段提供给网络层。网络层将段交付给目的地主机的STP。目的主机基于STP检查段中的端口号,从段中提取数据,并将数据传递给由端口号标识的进程。 b) 在发送方,STP从发送进程接收不超过1192字节的数据块、目标主机地址和目标端

Erekilu的博客 2万+

java keytool证书cer,keytool 生成cer证书

kafka SSL证书生成及配置apache kafka可以使用SSL加密连接,还可以限制客户端访问,给客户端发行证书,只允许持有证书的客户端访问。下面使用jdk的keytool工具来生成证书,配置kafka。为了便于演示,ca和服务器证书使用相同的密码,如下:KSPASS=xxxx客户端证书密码如下:C...文章sy98762017-08-152175浏览量HTTPS证书文件格式转换该文章转载自...

weixin_39608063的博客 756

openai联合创始人用1000行纯C语言手搓的GPT-2训练代码

不久之前,特斯拉前 AI 总监、OpenAI 联合创始人 Andrej Karpathy 在社交媒体平台 X 上高调宣布,他友好地从 OpenAI 离职,未来将专注于“个人项目”,而后又口口声声说要尝试性地戒掉上网两周,去了 Bhutan(不丹王国)休假。然后就手搓如下代码,我们一起来欣赏.这段代码是一个GPT-2模型的训练实现,包括前向传播、后向传播、参数更新等过程。代码中包含了注释,解释了每个函数和代码块的作用。此外,还有一些辅助函数和结构体,用于数据加载、随机数生成和模型的初始化与释放。这个训练循环还

zhangzhechun的专栏 1212

Windows10下部署Heygem进行数字人生成

对于使用Heygem生成数字人,需要注意几个问题: + 需要使用Nvidia的显卡。 + 需要在Windows上进行本地部署。主要原因为客户端是Windows的,客户端对上传的视频写入硬编码的`D:\heygem_data\voice\data`目录,需要在容器上读取这些文件。 + 需要在Windows上部署Docker,将Windows的目录映射到容器中,由容器中的服务进行读取。 + 需要特别注意,一定要有D盘,这个D盘是Windows的D盘,不能是插入的USB设备后产生的D盘。 + 需要下载3个Doc

冀辉的博客 5619

java keytool 导入证书_java keytool支持的类型及如何将证书导入jks中

简介Java自带的keytool工具是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。 keytool 将密钥和证书储存在一个所谓的密钥仓库(keystore)中。缺省的密钥仓库实现将密钥仓库实现为一个文件。它用口令来保护私钥。Java K...

weixin_33212799的博客 2234

Sigmastar平台WDR调试实战:从参数解析到鬼影消除的完整指南

本文提供了Sigmastar平台宽动态(WDR)技术的实战调试指南。针对逆光、运动场景下的核心痛点,系统性地解析了从多曝光采集、HDR融合到色调映射的完整管线,并重点阐述了如何通过调整曝光比、运动阈值与调整曲线等关键参数,有效消除运动鬼影、平衡暗部噪声与细节,最终实现清晰稳定的图像效果。

Jerry的专栏 926

csr x509证书_证书格式简介 - CSR 文件生成 - 中国数字证书CHINASSL

.cer后缀的证书文件有两种编码-->DER二进制编码或者BASE64编码(也就是.pem)p7b一般是证书链,里面包括1到多个证书pfx是指以pkcs#12格式存储的证书和相应私钥。在Security编程中,有几种典型的密码交换信息文件格式:DER-encoded certificate: .cer, .crtPEM-encoded message: .pemPKCS#12 Persona...

weixin_39747630的博客 700

在Android Jetpack Compose中实现夜间模式

Android基于Compose的深色主题实现

虎哥LoveDroid 1235

一文搞定 ST22 短转储 MEMORY_NO_MORE_PAGING:看懂 SAP Paging 机制,参数 rdisp/PG_SHM 与 rdisp/PG_MAXFS 怎么设才稳

SAP系统MEMORY_NO_MORE_PAGING错误通常源于Paging资源耗尽而非物理内存不足。关键排查点包括:通过ST22确认错误类型,ST02监控Paging使用情况,检查工作进程trace中的"no more free blocks"提示。解决方案建议将rdisp/PG_SHM和rdisp/PG_MAXFS设为相同值(如250000块≈2GB),使Paging完全在内存中运行。同时需优化易耗Paging的代码逻辑,如避免滥用EXTRACT命令和超大内存对象传输。典型案例如月末

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 334

ca根证书校验 java_程序员必备工具 Java证书工具Keytool的使用

一、简介Keytool是JDK自带的证书管理工具,在jdk/bin目录下,可以用来生成自签名证书、导入导出证书、打印证书信息等。回顾下前一章的一些概念:PKI:公钥基础设施X.509 : PKI事实上的标准CSR:向CA申请证书的签名请求文件,用ASN.1标准描述证书链:证书之间的上下级信任关系根证书:证书链的最顶层DER:证书二进制格式BER:DER的一个子集CER:一般用于windows的证书...

weixin_39838758的博客 671

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

证书类型、自签CA证书、https双向认证(一篇就懂系列)

证书类型、自签CA证书、https双向认证(一篇就懂系列)

MX__LL的博客 9279

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

数字证书格式详细说明【转】

数字证书格式 常见的数字证书格式   cer后缀的证书文件有两种编码 DER二进制编码 BASE64编码(也就是.pem) p7b一般是证书链,里面包括1到多个证书 pfx是指以pkcs#12格式存储的证书和相应私钥。 在Security编程中,有几种典型的密码交换信息文件格式:   DER-encoded certi...

weixin_30510153的博客 892

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

别再发错邮件了!手把手教你用Keytool生成CSR,搞定CFCA测试证书申请

本文详细介绍了如何使用Keytool生成CSR并申请CFCA测试证书的全流程,包括环境准备、CSR生成与验证、CFCA申请中的常见问题及解决方案。通过实操示例和关键提示,帮助读者避免常见错误,顺利完成证书申请流程。

ateu52935的博客 412
上一篇: Spring定时器@Scheduled cron表达式写法
下一篇: Java自定义Cron,解析Cron表达式
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值