「java使用jks」java使用了未经检查或不安全的操作

博主:adminadmin 2023-01-24 16:15:10 323

今天给各位分享java使用jks的知识,其中也会对java使用了未经检查或不安全的操作进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

命令行使用JKS文件为APK签名

   目前拿到一个机器的Android系统签名,以JKS格式文件提供,要如何对APK签名呢?按如下步骤操作:

    jarsigner -verbose -keystore xxx.jks -signedjar xxx_signed.apk xxx_unsigned.apk xxx_alias

   其中,xxx.jdk为相应的签名文件,xxx_alias为签名文件里面配置的keystore别名。例如:

   jarsigner -verbose -keystore xbh.jks -signedjar Explorer_signed.apk Explorer_unsigned.apk android

   执行该命令后,要求输入keystore的密码,输入完后,碰到如下提示:

   jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry compressed size (expected 6716 but got 6831 bytes)

   查了下资料,是由于APK已有签名了,于是执行如下命令删除到现有签名:

   zip -d Explorer_unsigned.apk META-INF/\*

  命令执行后有如下提示:

   deleting: META-INF/MANIFEST.MF

   deleting: META-INF/CERT.SF

   deleting: META-INF/CERT.RSA

   执行完该命令后,再执行上面的jarsigner命令重新签名即可,此时有如下提示输出:

  正在添加: META-INF/MANIFEST.MF

  正在添加: META-INF/ANDROID.SF

  正在添加: META-INF/ANDROID.RSA

  正在签名: res/drawable-1280x600/content_item.9.png

  正在签名: res/drawable-1280x600/explorer_logo.png

  正在签名: res/drawable-1280x600/icon.png

  正在签名: res/drawable-1280x600/icon_apk.png

  正在签名: res/drawable-1280x600/icon_audio.png

  正在签名: res/drawable-1280x600/icon_copy.png

  正在签名: res/drawable-1280x600/icon_delete.png

  正在签名: res/drawable-1280x600/icon_folder.png

  正在签名: res/drawable-1280x600/icon_move.png

  正在签名: res/drawable-1280x600/icon_msg.png

  正在签名: res/drawable-1280x600/icon_other.png

  正在签名: res/drawable-1280x600/icon_paste.png

  正在签名: res/drawable-1280x600/icon_photo.png

  正在签名: res/drawable-1280x600/icon_rename.png

  正在签名: res/drawable-1280x600/icon_share.png

  正在签名: res/drawable-1280x600/icon_smb.png

  正在签名: res/drawable-1280x600/icon_video.png

  正在签名: res/drawable-1280x600/line_content.png

  正在签名: res/drawable-1280x600/line_top.png

  正在签名: res/drawable-1280x600/nav_flash1.png

  正在签名: res/drawable-1280x600/nav_flash2.png

 正在签名: res/drawable-1280x600/nav_network1.png

 正在签名: res/drawable-1280x600/nav_network2.png

 正在签名: res/drawable-1280x600/nav_sata1.png

 正在签名: res/drawable-1280x600/nav_sata2.png

 正在签名: res/drawable-1280x600/nav_sdcard1.png

 正在签名: res/drawable-1280x600/nav_sdcard2.png

 正在签名: res/drawable-1280x600/nav_usb1.png

 正在签名: res/drawable-1280x600/nav_usb2.png

 正在签名: res/drawable-1280x600/popup_win.png

 正在签名: res/drawable-1280x600/popup_win1.9.png

 正在签名: res/drawable-1280x600/shadow.png

 正在签名: res/drawable-1280x600/smb_add.png

 正在签名: res/drawable-1280x600/smb_delete.png

 正在签名: res/drawable-1280x600/smb_edit.png

 正在签名: res/drawable-1280x600/smb_search.png

 正在签名: res/drawable-1920x900/background.png

 正在签名: res/drawable-1920x900/content_item.9.png

 正在签名: res/drawable-1920x900/explorer_logo.png

 正在签名: res/drawable-1920x900/icon.png

 正在签名: res/drawable-1920x900/icon_apk.png

 正在签名: res/drawable-1920x900/icon_copy.png

 正在签名: res/drawable-1920x900/icon_delete.png

 正在签名: res/drawable-1920x900/icon_folder.png

 正在签名: res/drawable-1920x900/icon_

 正在签名: res/drawable-1920x900/icon_move.png

 正在签名: res/drawable-1920x900/icon_msg.png

 正在签名: res/drawable-1920x900/icon_music.png

 正在签名: res/drawable-1920x900/icon_other.png

 正在签名: res/drawable-1920x900/icon_paste.png

 正在签名: res/drawable-1920x900/icon_rename.png

 正在签名: res/drawable-1920x900/icon_share.png

 正在签名: res/drawable-1920x900/icon_smb.png

 正在签名: res/drawable-1920x900/icon_video.png

 正在签名: res/drawable-1920x900/line_content.png

 正在签名: res/drawable-1920x900/line_shadow.png

 正在签名: res/drawable-1920x900/line_top.png

 正在签名: res/drawable-1920x900/line_yellow.png

 正在签名: res/drawable-1920x900/nav_flash1.png

 正在签名: res/drawable-1920x900/nav_flash2.png

 正在签名: res/drawable-1920x900/nav_network1.png

 正在签名: res/drawable-1920x900/nav_network2.png

 正在签名: res/drawable-1920x900/nav_sata1.png

 正在签名: res/drawable-1920x900/nav_sata2.png

 正在签名: res/drawable-1920x900/nav_sdcard1.png

 正在签名: res/drawable-1920x900/nav_sdcard2.png

 正在签名: res/drawable-1920x900/nav_usb1.png

 正在签名: res/drawable-1920x900/nav_usb2.png

 正在签名: res/drawable-1920x900/popup_win.png

 正在签名: res/drawable-1920x900/popup_win1.9.png

 正在签名: res/drawable/apk.png

 正在签名: res/drawable/audio.png

 正在签名: res/drawable/background.png

 正在签名: res/drawable/bk.png

 正在签名: res/drawable/blank_page.png

 正在签名: res/drawable/btn_normal.png

 正在签名: res/drawable/btn_pressed.png

 正在签名: res/drawable/cifsmanager.png

 正在签名: res/drawable/close_b.png

 正在签名: res/drawable/content_line.png

 正在签名: res/drawable/copy.png

 正在签名: res/drawable/device.png

 正在签名: res/drawable/device_icon.png

 正在签名: res/drawable/dlna.png

 正在签名: res/drawable/edit_folder.png

 正在签名: res/drawable/explorer_logo.png

 正在签名: res/drawable/file_sharing.png

 正在签名: res/drawable/flash.png

 正在签名: res/drawable/folder.png

 正在签名: res/drawable/folder_back.png

 正在签名: res/drawable/folder_next.png

 正在签名: res/drawable/highlight_disabled.png

 正在签名: res/drawable/highlight_pressed.png

 正在签名: res/drawable/highlight_selected.png

 正在签名: res/drawable/home.png

 正在签名: res/drawable/item_flash.png

 正在签名: res/drawable/item_hl.png

 正在签名: res/drawable/item_sdcard.png

 正在签名: res/drawable/item_smb.png

 正在签名: res/drawable/item_yellow.png

 正在签名: res/drawable/level_up.png

 正在签名: res/drawable/line_top.png

 正在签名: res/drawable/list.png

 正在签名: res/drawable/list_hot.png

 正在签名: res/drawable/listbg.9.png

 正在签名: res/drawable/listbg_press.9.png

 正在签名: res/drawable/main_setting.png

 正在签名: res/drawable/menu_edit.png

 正在签名: res/drawable/nav_flash1.png

 正在签名: res/drawable/nav_flash2.png

 正在签名: res/drawable/nav_network1.png

 正在签名: res/drawable/nav_network2.png

 正在签名: res/drawable/nav_sata1.png

 正在签名: res/drawable/nav_sata2.png

 正在签名: res/drawable/nav_sdcard1.png

 正在签名: res/drawable/nav_sdcard2.png

 正在签名: res/drawable/nav_usb1.png

 正在签名: res/drawable/nav_usb2.png

 正在签名: res/drawable/net_folder.png

 正在签名: res/drawable/new_folder.png

 正在签名: res/drawable/next_

 正在签名: res/drawable/next_image_pressed.png

 正在签名: res/drawable/panel_separator.png

 正在签名: res/drawable/paste.png

 正在签名: res/drawable/popup_blue_border_4.png

 正在签名: res/drawable/pre_

 正在签名: res/drawable/pre_image_pressed.png

 正在签名: res/drawable/rename.png

 正在签名: res/drawable/sdcard.png

 正在签名: res/drawable/search.png

 正在签名: res/drawable/shadow.png

 正在签名: res/drawable/share.png

 正在签名: res/drawable/smb.png

 正在签名: res/drawable/smb_folder_error.png

 正在签名: res/drawable/sort.png

 正在签名: res/drawable/storage_list.png

 正在签名: res/drawable/switch_windows.png

 正在签名: res/drawable/tool_background.9.png

 正在签名: res/drawable/toolbar_down_arrow.png

 正在签名: res/drawable/toolbar_left_arrow.png

 正在签名: res/drawable/toolbar_right_arrow.png

 正在签名: res/drawable/toolbar_up_arrow.png

 正在签名: res/drawable/video.png

 正在签名: res/drawable/yellow_border2.9.png

 正在签名: res/drawable/yellow_border3.9.png

 正在签名: resources.arsc

 正在签名: AndroidManifest.xml

 正在签名: classes.dex

 正在签名: jcifs/http/ne.css

 正在签名: jcifs/util/mime.map

 正在签名: res/anim/image_in.xml

 正在签名: res/anim/image_out.xml

 正在签名: res/drawable/editor_btn.xml

 正在签名: res/drawable/gradient_line.xml

 正在签名: res/drawable/list_selector_background.xml

 正在签名: res/drawable/next_images.xml

 正在签名: res/drawable/pre_images.xml

 正在签名: res/drawable/title_bar_back.xml

 正在签名: res/drawable/tool_bar_selector.xml

 正在签名: res/drawable/tool_btu.xml

 正在签名: res/layout/copy_dialog.xml

 正在签名: res/layout/device_adapter.xml

 正在签名: res/layout/device_list_item.xml

 正在签名: res/layout/editor_layout.xml

 正在签名: res/layout/file_details.xml

 正在签名: res/layout/main.xml

 正在签名: res/layout/new_smb_server.xml

 正在签名: res/layout/new_username_password.xml

 正在签名: res/layout/normal_adapter.xml

 正在签名: res/layout/pictureview.xml

 正在签名: res/layout/recovery_dialog.xml

 正在签名: res/layout/rename_alert_dialog.xml

 正在签名: res/layout/reslover_adapter.xml

 正在签名: res/layout/smb_editor_layout.xml

 正在签名: res/layout/smb_search_progress.xml

 正在签名: res/layout/title_bar.xml

 正在签名: res/layout/tool_bar.xml

  jar 已签名。

警告: 

  签名者证书为自签名证书。

  未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期日期 (2154-09-25) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。

   至此使用JKS文件为APK签名完成。

   参考资料:

   

   

java中怎么获取jks证书文件中的内容

1、p12格式的证书是不能使用keytool工具导入到keystore中的

2、the

sun's

pkcs12

keystore对从ie和其他的windows程序生成的pfx格式的证书支持不太好.

3、p7b证书链不能直接导入到keystore,需要将里面的证书导出成cer格式,再分别导入到keystore。

java 怎样生成tomcat ssl客户端证书和服务端证书

Gworg获得Tomcat证书与密码,根据以下教程安装。

解释原因:

进入Tomcat安装目录,  d:/apache-tomcat-8.0.18, 把下载的jks文件放在tomcat安装目录即可。d:/apache-tomcat-8.0.18/gworg.com.jks

打开tomcat配置文件 conf/server.xml

tomcat默认一般是8080端口或者 80端口,先找到这一段。

Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" /

3.在这段下面插入下面配置:

Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"

maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS" keystoreFile="gworg.com.jks" keystorePass="123456" /

keystoreFile=”gworg.com.jks”            【 jks 文件名需要修改】

keystorePass=”123456″                 【jks密码】

注意事项:

防火墙要允许443端口

使用CDN,需要让CDN服务商安装SSL

Tomcat 6.0上面配置如果无法启动,把protocol修改为 protocol=”HTTP/1.1″

windows平台运行tomcat , bin目录下必须有tcnative-1.dll

jdk的keytool生成jks及获取jks的信息

生成jks

命令:

keytool -genkeypair -alias myAlias -keyalg RSA -keypass myKeyPass -keystore myKeystore.jks -storepass myStorePass -storetype jks

myAlias: 密钥对的别名

myKeyPass: 私玥保护口令

myKeystore.jks: Keystore 文件名

myStorePass: keystore保护口令

storetype: 证书库类型

例如:

keytool -genkeypair -alias uc -keyalg RSA -keypass ucpass -keystore uc.jks -storepass ucstorepass -storetype jks

导入证书到制定的证书库

keytool -import -alias aliasName -keystore keystorePath -file certPath

aliasName:证书别名

keystorePath: keystore路径

certPath: 证书路径

通过别名查询证书库中是否存在证书

keytool -list -keystore keystorePath -alias aliasName

aliasName:证书别名

keystorePath: keystore路径

certPath: 证书路径

从JKS中导出证书

keytool -list -v -keystore jksName.jks

keytool -export -alias aliasName -keystore jksName.jks -storepass 密钥库口令 -file certName.cer

解决unable to find valid certification path to requested target

java调用https请求如果网站的跟证书不存在于jre的默认证书库中,会出现上述异常

解决方法可以将网站的证书导入到jre的证书库中

导入方法:

免费的泛域名证书申请,以及证书格式转换

本博客针对的是泛域名证书申请(三个月)以及申请后的证书格式转换。申请的证书只有三个月有效期,到期可以续期。泛域名证书会包含一个主域名以及其所有的二级域名,或者某个二级域名对应的所有三级子域名,如:example.com 以及 .example.com或者xxx.example.com与 .xxx.example.com。

如果你只是想要一个单域名证书,可以选择华为或阿里提供的证书服务(1年)。以华为为例:在证书管理中–购买证书类型(DV Basic)–证书品牌(DigiCert) –证书类型(单域名证书) ;接着在证书列表里点击”申请证书”绑定你的域名,绑定过程中需要你添加一条TXT解析记录,用于域名所有权的验证。单域名的申请此处不做详细介绍。

找一台linux系统的主机,在上面执行:

该脚本需要访问github,由于国内的网络原因,可能需要执行多次才能成功,直到执行结果出现,如下图所示表示成功:

安装完后执行以下脚本申请证书:

执行后会拿到两条DomainTXT value,将其添加到你的域名TXT解析中。

两条TXT解析添加完成后,将acme.sh脚本再次执行,这次在脚本后添加 --renew 参数:

申请完成的证书放置在~/.acme.sh/example.com/目录下:

申请完成后将证书配置到nginx服务:

在nginx.conf中配置启用ssl

在工作中经常会遇到的两类证书:jks与(pem/crt)。jks是JAVA KeyStore缩写,可以被java/tomcat等可识别的证书。而pem/crt则是apache、nginx、openssl可识别的证书。很多时候需要在两种格式之间转换。

需要用到epenssl以及java自带的keytool工具:

example.com.jks就是我们想要的能被java直接识别的证书啦~

将上面的段落另外为jks2crt.sh,并授予执行权限,chmod +x jks2crt.sh

./jks2crt.sh [证书路径] [证书自定义密码]

其他证书格式

PEM – Privacy Enhanced Mail,打开看文本格式,以”—–BEGIN…”开头, “—–END…”结尾,内容是BASE64编码,Nginx和Apache偏向于使用。

DER – Distinguished Encoding Rules,打开看是二进制格式,不可读,Java和Windows偏向于使用

CRT – CRT应该是certificate的三个字母,其实还是证书的意思,常见于类UNIX系统,有可能是PEM编码,也有可能是DER编码,大多数应该是PEM编码,可读的(cat)。

CER – 还是certificate,还是证书,常见于Windows系统,同样的,可能是PEM编码,也可能是DER编码,大多数应该是DER编码。

jks 证书文件的生成步骤

作为文件形式存在的证书,一般有三类:

A.

包含有私钥的证书,包含了公钥和私钥,用pkcs12标准,而一般以pfx 作为扩展名;

B.

DER 编码证书,不含私钥,以cer 结尾,文件是二进制data. 通常CA(无论是intermediate CA还是root CA)证书都是这类;

C.

BASE64编码的证书,这类证书也不含私钥,一般也以cer结尾,是pem证书, 这类证书可以直接cat 出结果, 特征是”-----BEGIN CERTIFICATE----- “开头,“-----END CERTIFICATE-----”结尾;

对于DER/PEM证书,可以通过openssl 来确认其编码类型(假设要查看的证书是client_cert.cer):

openssl x509 -in ./client_cert.cer -inform pem -noout -text

openssl x509 -in ./client_ert.cer -inform der -noout -text

jks 是java key store 的简称,也就是java 常用的证书文件. jks 证书文件一般包含私钥以及签名的cert一起组成的. 要生成jks 可以使用java 的keytool工具 以及openssl 来完成,没有特殊需求的情况先,可以只用这两个工具就可以了:

基本的过程是这样的:

具体的步骤如下:

上述创建私钥以及生成CSR的过程,可以用keytool工具来实现(MW的support 人员更乐于用keytool工具来实现),具体为:

上述步骤就成功创建了csr文件,并且成功获得了对应的private key. (无论是基于openssl 命令还是keytool命令)

然后需要将csr发送给证书签发者,然后证书签发者进行证书的签发; 签发后,一般会发回 crt 证书文件. 以及root ca, intermediate ca 还有签发的pem证书;

后面的步骤是创建证书链:

查看证书:

keytool -list -v -keystore test_keystore2.jks -storepass xoxoxo

查看证书请求文件:

keytool -printcertreq -file

查看已经签名的证书:

keytool -printcert -file GlobalSign_cert.cer

如何通过本机简单验证ssl 证书是否正确呢? 用openssl 命令在本机开启ssl 的服务器和客户端,然后用ssl 方式进行连接进行验证:

然后看输出的结果,就知道是否证书是ok的;

diff -eq (openssl x509 -pubkey -noout -in mycert.crt) (openssl rsa -pubout -in mycert.key)

关于java使用jks和java使用了未经检查或不安全的操作的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。