写在前面的话 CFSSL是CloudFlare旗下的PKI/TLS工具.可以用于数字签名,签名验证和TLS证书捆绑的命令行工具和HTTP API服务器. 是使用golang语言开发的证书工具. 官方地址: github地址:https://github.com/cloudflare/cfssl 下载cfssl工具链 https://github.com/cloudflare/cfssl/releases 下载如下文件 cfssl_1.6.0_darwin_amd64 表示cfssl的工具 cfs…
# coding=utf-8 """ @author:Eleven created on:2018年10月30日 """ import binascii from Cryptodome.PublicKey import RSA from Cryptodome.Cipher import PKCS1_v1_5 # 定义全局变量以便在函数中引用 public_key='' private_key='' hex_data='' plaintext =…
由于JavaScript属于弱类型脚本语言,因此当其与强类型的后台语言进行数据交互时会产生各种问题,特别是加解密的操作.本人由于工作中遇到用js与Java进行相互加解密的问题,在网上查了很多资料及代码段,均无法解决.后总结多篇文档内容终于找到解决办法,现记录与此: 第一种:加解密时需要秘钥(key)和秘钥偏移量(iv)的情况,在线验证地址:http://www.seacha.com/tools/aes.html //该方法可与Java进行相互加解密 <!doctype html> <ht…
在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于解密. 首先需要先生成这些文件,然后再将文件导入工程使用,不多说,开始做! 使用openssl生成所需秘钥文件 生成环境是在mac系统下(在linux环境一样直接执行,不过最好先建一个文件夹 这样比较整洁),使用openssl进行生成,首先打开终端,按下面这些步骤依次来做: 1. 生成模长为1024…
本文源程序下载:http://download.csdn.net/source/2444494 我的项目当中,考虑到安全性,需要为每个客户端分发一个数字证书,同时使用数字证书中的公私钥来进行数据的加解密.为了完成这个安全模块,特写了如下一个DEMO程序,该DEMO程序包含的功能有: 1:调用.NET2.0的MAKECERT创建含有私钥的数字证书,并存储到个人证书区: 2:将该证书导出为pfx文件,并为其指定一个用来打开pfx文件的password: 3:读取pfx文件,导出pfx中公钥和私钥:…
Wiki - RSA加密演算法 Wiki - 欧拉函数 Wiki - 模反元素 ASN.1 格式标准 RSA算法原理(二) 注意: RSA 加密或签名后的结果是不可读的二进制,使用时经常会转为 BASE64 码再传输. RSA 加密时,对要加密数据的大小有限制,最大不大于密钥长度.例如在使用 1024 bit 的密钥时(genrsa -out rsa_private_key.pem 1024),最大可以加密 1024/8=128 Bytes 的数据.数据大于 128 Bytes 时,需要对数据进…
简介 加解密现状,编写此系列文章的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java等)(加解密本质上没有语言之分,所以原则上不存在互通性问题) 网上资料版本不一.或不全面 .NET官方库密码算法提供不全面,很难针对其他语言(Java)进行适配 本系列文章主要介绍如何在 .NET Core 中使用非对称加密算法.编码算法.消息摘要算法.签名算法.对称加密算法.国密算法等一系列算法,如有错误之处,还请大家批评指正. 本系列文章旨在引导大家能快速.轻松的…
摘要 在数据安全上rsa起着非常大的作用,特别是数据网络通讯的安全上.当异构系统在数据网络通讯上对安全性有所要求时,rsa将作为其中的一种选择,此时rsa的互通性就显得尤为重要了. 本文参考网络资料,提供了rsa互通性的一种可行的解决方案(c#,java,php),而这种互通性是在一定的局限性上达成的,比如密钥是1024位的(更高位没试过,应该也可行),基于PKCS1填充方式. 所编写的代码有一部分使用了硬编码,同时注重了功能的实现,在类结构设计上关注不多,有需要的可自行修改重构. 相关的程序集…
一般现在的SAAS服务提供现在的sdk或api对接服务都涉及到一个身份验证和数据加密的问题.一般现在普遍的做法就是配置使用非对称加密的方式来解决这个问题,你持有SAAS公司的公钥,SAAS公司持有你的公钥,你们就可以进行加密和签名的验证了. 先来看下两种在linux或者mac下面生成key pair的方法: 使用openssl 生成一把2048bit长度的钥匙对,首先我们生成一把.pem格式的私钥: openssl genrsa -out private_key.pem 2048 然后通过这把私…
本文中使用的Base64Utils.java可参考:http://www.cnblogs.com/shindo/p/6346618.html 证书制作方法可参考:http://www.cnblogs.com/shindo/p/6346971.html =========================== 工具类如下:CertificateUtils.java package com.mes.util; import java.io.ByteArrayInputStream; import ja…