`

JAVA RSA-DerInputStream.getLength(): lengthTag=127, too big.

阅读更多

RSA 加载公钥时:Caused by: java.security.InvalidKeyException: IOException: DerInputStream.getLength(): lengthTag=127, too big.
加载公钥代码段:
 public static String getPubKeyByCer(String cerPath)
  {
    String pubKey = "";
    try {
      CertificateFactory certificateFactory =      CertificateFactory.getInstance("X.509");
      FileInputStream in = new FileInputStream(cerPath);
      Certificate certificate = certificateFactory.generateCertificate(in);
      in.close();
      PublicKey publicKey = certificate.getPublicKey();
      pubKey = Base64Utils.encode(publicKey.getEncoded());
    } catch (CertificateException e) {
      e.printStackTrace();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    } catch (Exception e) {
    	e.printStackTrace();
	}
    return pubKey;
  }


解决办法:加载错误-->去掉文件中的首尾行BEGIN,END
加载方法改为:
  public static String loadPublicKeyByFile(String path) throws Exception {  
      try {  
          BufferedReader br = new BufferedReader(new FileReader(path));  
          String readLine = null;  
          StringBuilder sb = new StringBuilder();  
          while ((readLine = br.readLine()) != null) {  
              sb.append(readLine);  
          }  
          br.close();  
          return sb.toString();  
      } catch (IOException e) {  
          throw new Exception("公钥数据流读取错误");  
      } catch (NullPointerException e) {  
          throw new Exception("公钥输入流为空");  
      }  
  } 

1
3
分享到:
评论

相关推荐

    spring-security-rsa-1.0.10.RELEASE-API文档-中文版.zip

    赠送jar包:spring-security-rsa-1.0.10.RELEASE.jar; 赠送原API文档:spring-security-rsa-1.0.10.RELEASE-javadoc.jar; 赠送源代码:spring-security-rsa-1.0.10.RELEASE-sources.jar; 赠送Maven依赖信息文件:...

    spring-security-rsa-1.0.10.RELEASE-API文档-中英对照版.zip

    赠送jar包:spring-security-rsa-1.0.10.RELEASE.jar; 赠送原API文档:spring-security-rsa-1.0.10.RELEASE-javadoc.jar; 赠送源代码:spring-security-rsa-1.0.10.RELEASE-sources.jar; 赠送Maven依赖信息文件:...

    spring-security-rsa-1.0.3.RELEASE.jar

    spring-security-rsa-1.0.3.RELEASE.jar

    easy-rsa-2.2.2.tar.gz

    easy-rsa-2.*.*版本源码tar包,现在yum,apt,安装一般都是3版本,欢迎下载!

    PyPI 官网下载 | rsa-3.4.1.tar.gz

    **PyPI官网下载 | rsa-3.4.1.tar.gz** `rsa-3.4.1.tar.gz` 是一个在Python生态系统中广泛使用的开源库,它可以在Python Package Index (PyPI) 官网上找到。PyPI是Python社区的官方仓库,提供了一个平台,让开发者...

    gcc-c++-4.4.7-16.el6.x86_64.rpm

    warning: gcc-c++-4.4.7-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY error: Failed dependencies: gcc = 4.4.7-3.el6 is needed by gcc-c++-4.4.7-3.el6.x86_64 libstdc++ = 4.4.7-...

    easy-rsa-2.2.0.tar.gz

    首先,我们需要从源代码包`easy-rsa-2.2.0.tar.gz`中解压并安装。这通常包括解压、进入目录、配置和编译过程。在Unix/Linux环境下,可以使用以下命令: ``` tar -zxvf easy-rsa-2.2.0.tar.gz cd easy-rsa-2.2.0 ./...

    easy-rsa.tar.gz

    easy-rsa3.2.0

    jdk-17.0.10-linux

    Java SE Development Kit 17.0.10 (1)jdk-17.0.10_linux-aarch64_bin.rpm (2)jdk-17.0.10_linux-aarch64_bin.tar.gz (3)jdk-17.0.10_linux-x64_bin.deb (4)jdk-17.0.10_linux-x64_bin.rpm (5)jdk-17.0.10_...

    ikvmbin-8.1.5717.0.zip

    在命令窗口中输入以下命令 ...ikvmc -target:library sc_rsa.jar -r:javabase64-1.3.1.dll //这里是把jsc_rsa.jar包转成dll,由于jsc_rsa.jar包引用了javabase64-1.3.1.jar包,所以要-r:javabase64-1.3.1.dll

    java-1.8.0-openjdk-devel-1.8.0.272.b10-1.el7_9.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    bcprov-jdk16-1.45.jar.zip

    解决org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$SHA256问题,亦或是报BC错。 如下:首先在jdk包中 编辑jdk1.8_014\jre\lib\security\java.security 文件 增加这行 security.provider....

    clickhouse-server-21.2.3.15-2.noarch.rpm

    clickhouse-server-21.2.3.15-2.noarch.rpm

    erlang-21.3.7.1-1.el7.x86_64.rpm

    erlang-21.3.7.1-1.el7.x86_64.rpm rabbitmq基础语言环境。

    Python库 | rsa-4.0-py2.py3-none-any.whl

    Python库rsa-4.0-py2.py3-none-any.whl是用于Python编程的一个关键工具,它提供了RSA公钥加密算法的实现。RSA是一种非对称加密算法,广泛应用于网络安全领域,如数字签名、数据加密和密钥交换。在Python中,rsa库使...

    RSA-java.rar_RSA 类 java_rsa

    在这个"RSA-java.rar"压缩包中,我们很可能找到了一个关于如何在Java中使用RSA算法的示例或者工具类。 在Java中,RSA的实现主要依赖于`java.security`包下的类,如`KeyPairGenerator`用于生成密钥对,`KeyPair`用于...

    SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH keypair”

    1、修改jdk/jre/lib/security/java.security,加粗部分放到最前面,其它依次修改编号放到后面 security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider security.provider.2=sun.security....

    js-rsa-jsencrypt.min.js.zip

    `js-rsa-jsencrypt.min.js.zip`这个压缩包提供了一个JavaScript实现的RSA加密库,名为`js-rsa-jsencrypt.min.js`,它允许开发者在前端对数据进行加密,确保数据在传输过程中的安全。 非对称加密的核心在于一对密钥...

    container-selinux-2.9-4.el7.noarch.rpm

    安装 Docker 时资源包docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm的依赖包

Global site tag (gtag.js) - Google Analytics