皮皮网
皮皮网

【occ源码】【haowuzhijia 源码】【openquant 源码】java 签名源码

来源:verycd源码 发表时间:2024-12-22 16:51:31

1.Android KeyStore Java和Android环境配置及签名生成教程
2.VeriSign的签名代码签名证书可支持几种代码?
3.Java如何生成支付宝RSA2签名
4.Java 获取PDF中的数字签名信息

java 签名源码

Android KeyStore Java和Android环境配置及签名生成教程

       为了实现Android应用的签名,首先需要在本地计算机上配置Java环境和Android SDK。源码下面是签名具体的步骤:

       一、Java环境配置

       1. 首先访问Oracle官网下载最新版本的源码JDK。

       2. 双击下载的签名exe文件进行安装,可以选择自定义安装路径。源码occ源码

       3. 配置环境变量。签名在“系统属性”中找到“环境变量”,源码添加三个系统变量:JAVA_HOME、签名PATH、源码classpath,签名分别指向JDK的源码安装目录、JDK的签名bin目录和库目录,确保配置成功后在命令行输入“java”能正常显示帮助信息。源码

       二、签名Android SDK环境配置

       1. 下载Android SDK,选择exe文件进行安装或zip文件解压到指定目录。haowuzhijia 源码

       2. 安装“SDK Manager.exe”用于下载和更新SDK包,以及“AVD Manager.exe”用于创建和管理虚拟机。

       3. 配置Android SDK环境变量,将SDK目录下的“tools”和“platform-tools”文件夹路径追加到环境变量Path中,便于在命令行使用相关命令。

       三、Android Keystore配置

       1. 切换到JDK安装目录下的bin文件夹。

       2. 利用内置命令生成RSA密钥。openquant 源码

       3. 将生成的keystore文件转换为JKS格式,以便于后续操作。

       4. 使用JKS文件转换为p格式,适用于Android Keystore系统。

       5. 通过命令行工具查看密钥内容,确保密钥生成成功。

       通过以上步骤,开发者可以成功在本地配置Java和Android SDK环境,prism 源码并完成Android Keystore的生成与配置,为后续应用签名打下基础。

VeriSign的代码签名证书可支持几种代码?

       他的代码签名分好多种呢, (1) 微软代码签名证书(Microsoft Authenticode Digital ID):数字签名.exe, .dll, .cab, .ocx(ActiveX);

        (2) Java代码签名证书(Sun Java Signing Digital ID): 数字签名Sun Java .jar (Java Applet) 文件和 J2ME MIDlet Suite 文件;

        (3) 微软Windows Logo认证证书("Designed for Windows logo" Digital IDs):用于数字签名微软Windows Logo认证的各种软件、硬件驱动程序等,提交已经签名的软件给微软测试认证,包括微软 Windows Hardware Quality Labs (WHQL) testing programs(Windows硬件质量实验室测试计划)等;

        (4) NetScape 代码签名证书(Netscape Object Signing Digital ID): 数字签名NetScape 平台上的 Java 代码和 NetScape 浏览器和火狐浏览器(FireFox) 的各种插件和控件 Java Applet 文件 (.Java);

        (5) 微软 Office 宏签名证书(Microsoft Office and VBA Signing Digital ID):数字签名微软Office 宏文件和VBA代码等文件;

        (6) Macromedia 代码签名证书(Macromedia Shockwave Digital ID):数字签名 Macromedia Director 8 Shockwave Studio文件;

        (7) Marimba 代码签名证书(Marimba Castanet Channel Signing Digital ID):数字签名 Marimba Casanet 文件

Java如何生成支付宝RSA2签名

       对支付宝进行设置再回主页面进行转义,具体步骤如下。halcon 源码

       支付宝APP支付(Java后台生成签名具体步骤)

       /

**

       *支付宝支付

       * @param orderId 订单编号

       * @param actualPay 实际支付金额

       * @return

       */

       private String getOrderInfoByAliPay(String orderId,float actualPay) {

       //回调页面

       String ali_call_back_url = propertiesService.ALI_CALL_BACK_URL;

       String seller_id = propertiesService.SELLER_ID;//商户编号

       String[] parameters={

       "service=\"mobile.securitypay.pay\"",//固定值(手机快捷支付)

       "partner=\"\"",//合作身份者ID(位)

       "_input_charset=\"utf-8\"",

       "notify_url=\""+ali_call_back_url+"\"",//通知地址

       "out_trade_no=\""+orderId+"\"",//商户内部订单号

       "subject=\"测试\"",//测试

       "payment_type=\"1\"",//固定值

       "seller_id=\""+seller_id+"\"",//账户邮箱

       "total_fee=\""+"0."+"\"",//支付金额(元)

       "body=\"订单说明\"",//订单说明            

       "it_b_pay=\"m\""(订单过期时间 分钟过期无效)

       };

       String signOrderUrl = signAllString(parameters);

       return signOrderUrl;

       }

       /

**

       * 支付宝签名

       * @param array

       * @return

       */

       private String signAllString(String [] array){

       StringBuffer sb = new StringBuffer("");

       for (int i = 0; i < array.length; i++) {

       if(i==(array.length-1)){

       sb.append(array[i]);

       }else{

       sb.append(array[i]+"&");

       }

       }

       System.out.println(sb.toString());

       String sign = "";

       try {

       sign = URLEncoder.encode(RSA.sign(sb.toString(), AlipayConfig.private_key, "utf-8"), "utf-8");//private_key私钥

       } catch (UnsupportedEncodingException e) {

       e.printStackTrace();

       }

       sb.append("&sign=\""+sign+"\"&");

       sb.append("sign_type=\"RSA\"");

       return sb.toString();

       }

       package com.alipay.sign;

       import javax.crypto.Cipher;

       import java.io.ByteArrayInputStream;

       import java.io.ByteArrayOutputStream;

       import java.io.InputStream;

       import java.security.KeyFactory;

       import java.security.PrivateKey;

       import java.security.PublicKey;

       import java.security.spec.PKCS8EncodedKeySpec;

       import java.security.spec.XEncodedKeySpec;

       public class RSA{

       public static final String  SIGN_ALGORITHMS = "SHA1WithRSA";

       /

**

       * RSA签名

       * @param content 待签名数据

       * @param privateKey 商户私钥

       * @param input_charset 编码格式

       * @return 签名值

       */

       public static String sign(String content, String privateKey, String input_charset)

       {

       try 

       {

       byte[] decode = Base.decode(privateKey);

       PKCS8EncodedKeySpec priPKCS8   = new PKCS8EncodedKeySpec(decode );

       KeyFactory keyf= KeyFactory.getInstance("RSA");

       PrivateKey priKey= keyf.generatePrivate(priPKCS8);

       java.security.Signature signature = java.security.Signature.getInstance(SIGN_ALGORITHMS);

       signature.initSign(priKey);

       signature.update( content.getBytes(input_charset) );

       byte[] signed = signature.sign();

       return Base.encode(signed);

       }

       catch (Exception e) 

       {

       e.printStackTrace();

       }

       return null;

       }

       /

**

       * RSA验签名检查

       * @param content 待签名数据

       * @param sign 签名值

       * @param ali_public_key 支付宝公钥

       * @param input_charset 编码格式

       * @return 布尔值

       */

       public static boolean verify(String content, String sign, String ali_public_key, String input_charset)

       {

       try 

       {

       KeyFactory keyFactory = KeyFactory.getInstance("RSA");

       byte[] encodedKey = Base.decode(ali_public_key);

       PublicKey pubKey = keyFactory.generatePublic(new XEncodedKeySpec(encodedKey));

       java.security.Signature signature = java.security.Signature

       .getInstance(SIGN_ALGORITHMS);

       signature.initVerify(pubKey);

       signature.update( content.getBytes(input_charset) );

       boolean bverify = signature.verify( Base.decode(sign) );

       return bverify;

       } 

       catch (Exception e) 

       {

       e.printStackTrace();

       }

       return false;

       }

       /

**

       * 解密

       * @param content 密文

       * @param private_key 商户私钥

       * @param input_charset 编码格式

       * @return 解密后的字符串

       */

       public static String decrypt(String content, String private_key, String input_charset) throws Exception {

       PrivateKey prikey = getPrivateKey(private_key);

       Cipher cipher = Cipher.getInstance("RSA");

       cipher.init(Cipher.DECRYPT_MODE, prikey);

       InputStream ins = new ByteArrayInputStream(Base.decode(content));

       ByteArrayOutputStream writer = new ByteArrayOutputStream();

       //rsa解密的字节大小最多是,将需要解密的内容,按位拆开解密

       byte[] buf = new byte[];

       int bufl;

       while ((bufl = ins.read(buf)) != -1) {

       byte[] block = null;

       if (buf.length == bufl) {

       block = buf;

       } else {

       block = new byte[bufl];

       for (int i = 0; i < bufl; i++) {

       block[i] = buf[i];

       }

       }

       writer.write(cipher.doFinal(block));

       }

       return new String(writer.toByteArray(), input_charset);

       }

       /

**

       * 得到私钥

       * @param key 密钥字符串(经过base编码)

       * @throws Exception

       */

       public static PrivateKey getPrivateKey(String key) throws Exception {

       byte[] keyBytes;

       keyBytes = Base.decode(key);

       PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);

       KeyFactory keyFactory = KeyFactory.getInstance("RSA");

       PrivateKey privateKey = keyFactory.generatePrivate(keySpec);

       return privateKey;

       }

       }

Java 获取PDF中的数字签名信息

       本文示例如何使用Java获取PDF文档中的数字签名信息,包括签名人、位置、日期、原因、****以及签名坐标等。程序环境要求包括导入jar包至Java程序或在maven中配置相应的依赖。具体步骤如下:

       首先,需要下载并解压spire.pdf.jar,将lib文件夹内的jar包手动导入Java项目。或者,通过maven配置pom.xml文件,指定spire依赖,简化导入过程。

       在Java代码中,可使用spire库的PDF处理功能来获取数字签名信息。实现过程涉及解析PDF文件,定位并读取签名元素,提取相关信息。具体实现细节和代码示例可参考相关文章。

       获取签名信息后,开发者能深入了解文档中的签名细节,如签名人、签名时间、地点等,有助于文档的完整性和安全性审查。

       为了帮助开发者更好地理解和操作PDF文档,我们提供了一系列文章作为参考。这些文章涵盖了使用Java处理PDF文档的各种技巧和方法,包括数字签名的识别与提取。

       在阅读完本文后,希望读者能够深入理解如何通过Java获取PDF中的数字签名信息。此外,我们鼓励读者关注本专栏,我们将持续更新更多关于Java操作PDF文档的实用技巧和案例。

相关栏目:百科