首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Mac密钥链中的证书签署Java小程序?

在Mac中,可以通过密钥链使用证书对Java小程序进行签署。具体步骤如下:

1.在Mac计算机上安装Java Runtime Environment。在App Store中有许多可用的Java应用程序,包括Apple自带的Java for macOS和Oracle的Java程序。

2.在Java Runtime Environment上安装Java密钥和证书链。打开终端,并运行以下命令:

代码语言:txt
复制
```
代码语言:txt
复制
keytool -import -alias root -file root.crt -storepass changeit -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_80.jdk/Contents/Home/lib/security/cacerts
代码语言:txt
复制
```

3.创建或获取名为mykey的证书文件,并将其转换为PEM格式。可以使用以下命令将其转换为PEM格式:

代码语言:txt
复制
```
代码语言:txt
复制
openssl x509 -inform PEM -in mykey.crt -outform PEM -out mykey.pem
代码语言:txt
复制
```

4.在Java Runtime Environment证书链中注册新的证书:

代码语言:txt
复制
```
代码语言:txt
复制
keytool -import -alias mykey -file mykey.pem -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_80.jdk/Contents/Home/lib/security/cacerts -storepass changeit
代码语言:txt
复制
```

5.使用证书对Java小程序进行签署。在签名Java小程序时,请使用-tsa证书位置和-tsaction证书的签署操作的值:

代码语言:txt
复制
```
代码语言:txt
复制
jarsigner -tsa '/Library/Java/JavaVirtualMachines/jdk1.8.0_80.jdk/Contents/Home/lib/security/cacerts' -tsacerts '/Library/Java/JavaVirtualMachines/jdk1.8.0_80.jdk/Contents/Home/lib/security/cacerts' \
代码语言:txt
复制
    -keystore 'my.keystore' -storepass 'password' -alias 'my.keystore' \
代码语言:txt
复制
    test.jar
代码语言:txt
复制
    ```

6.如果您还需要对其他Java应用程序进行签名,您需要在Java应用程序的build.xml文件中添加密钥和证书链。例如,在build.xml文件中添加以下内容:

代码语言:xml
复制

<target version="1.0" name="verify-signer">

代码语言:txt
复制
   <create-keystore keystore="@" alias="@" storepass="@"/>
代码语言:txt
复制

在上面的示例中,@符号表示占位符,请替换为实际的值。

这样,您就可以使用Mac密钥链中的证书签署Java小程序了,需要注意的是,您还需要对小程序中的证书进行校验,确保他们没有被欺诈。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分钟短文 | Android证书生成,签名,验证,虽然难,但学一次就够了!

其中 awwal —是密钥库名称,hafsa是证书别名,使用后将被添加到META-INF文件夹-keysize 2048,但是您可以使用4096大,但是设备存在与此有关问题或者。...签署Android应用程序 在您已经生成了Android应用程序之后,我们将研究如何对应用程序进行签名,运行您终端: jarsigner -verbose -sigalg SHA1withRSA -digestalg...密钥库— awwal是生成证书使用密钥库名称名称,hafsa是证书别名,而medium.apk是要签名应用程序名称。...注意:如果您使用MD5,则该应用程序将被视为未签名应用程序,因为用于签署应用程序算法很弱。...写在最后 虽然上面我们使用都是 java 工具东西,其实生成 CERT.RSA 文件内,包含了公钥,也完全可以使用 openssl 工具打印出 pubkey 证书文件,并可做进一步指纹校验。

1.1K20

六、数字证书证书、HTTPS

为什么要使用数字证书   我们来总结一下前几篇内容:   A 想要把一个带数字签名文件传递给 B 。于是 A生成了公钥和私钥,用私钥签署了文件(数字签名)。然后把公钥上传到一个公共服务器上。...至于 B 如何确认证书本身是可信,稍后我们聊 HTTPS 过程再展开聊。 认证中心   CA就是认证中心简称。   就像公安局发身份证一样。...(当然还会有其他东西,可以在mac电脑地址栏锁上查看证书)数字签名是 CA 发出,也就是说 CA 用自己信用为这个证书做担保。...其实在CA上面,还有更高级CA。下面我们来看看证书证书   上级CA会给下级CA数字签名,做成一个证书证书里面是下级CA资料和下级CA公钥。   ...密钥封装目的是为通信双方安全地交换对称密钥,之后采用对称密钥加密信息。 自签名证书 mac windows 下面的文章可以作为扩展阅读,介绍了apple开发者申请证书流程。

1.3K10

WEB性能--TLS

张三从未见过王五,但王五自称是李四朋友。事实上,王五为了证明自己是李四朋友,王五还请李四用李四私钥签署了自己公钥,并在消息附上了签名。此时,张三首先检查王五公钥李四签名。...刚才这个过程建立了一个信任:张三信任李四,李四信任王五,通过信任传递,张三信任王五。只要这条上的人不会被冒名顶替,我们就可以继续扩展这个信任网络。在Web应用如何信任?信任谁?...为此,证书本身会包含如何检测其是否过期指令。为确保信任不被破坏,通信任何一端都可以根据嵌入指令和签名检查信任每个证书状态。 1....交付应用程序数据典型流程如下: 记录协议接收应用数据; 接收到数据被切分为块:最大为每条记录16kb; 压缩应用数据(可选); 添加MAC(Message Authentication Code);...传输级TLS压缩不关心内容,可能会再次压缩已经压缩过数据 证书长度 验证信任需要浏览器遍历每个节点,会浪费很多时间。因此信任链长度不能过长。

1.5K30

为什么我强烈建议你使用ECC 证书

;3)以 Nginx 为例介绍如何使用 ECC 证书。...在 TLS 协议,应用数据都是经过对称加密后传输,传输中所使用对称密钥,则是在握手阶段通过非对称密钥交换而来。常见 AES-GCM、ChaCha20-Poly1305,都是对称加密算法。...浏览器会在两个步骤中用到证书:1)证书合法性校验。确保证书由合法 CA 签署,且适用于当前网站;2)使用证书提供非对称加密公钥,完成密钥交换和服务端认证。...在 RSA 密钥交换,浏览器使用证书提供 RSA 公钥加密相关信息,如果服务端能解密,意味着服务端拥有证书对应私钥,同时也能算出对称加密所需密钥密钥交换和服务端认证合并在一起。...在 ECDHE 密钥交换,服务端使用证书私钥对相关信息进行签名,如果浏览器能用证书公钥验证签名,就说明服务端确实拥有对应私钥,从而完成了服务端认证。密钥交换和服务端认证是完全分开

10.8K20

CDP-DC启用Auto-TLS

有线加密可保护移动数据,而传输层安全性(TLS)是有线加密中使用最广泛安全协议。TLS通过对端点之间传输数据包进行加密,在通过网络进行通信应用程序之间提供身份验证、隐私和数据完整性。...尽管此选项是最简单,但它可能不适用于某些企业部署,在这些企业部署,公司现有的证书颁发机构(CA)颁发TLS证书以维护集中信任。...如果仔细检查CSR,您将看到CSR请求必要扩展名X509v3密钥用法:关键证书签名,以自行签署证书。...3) 获得签名证书后,请确保该证书具有所需扩展名– X509v3基本约束:CA:TRUE 和 X509v3密钥用法:密钥证书签名。使用以下命令继续安装。...2) 为每个主机创建一个公用/专用密钥,并生成相应证书签名请求(CSR)。由公司证书颁发机构(CA)签署这些CSR。 3) 在CM服务器上准备公司CA签署所有证书

1.3K30

让安全启动更加安全

然后,使用 grub-standalone 而不是普通 GRUB2,这意味着 GRUB 配置文件和模块被嵌入到一个经过签名单一可执行文件,从而防止注入 GRUB 模块(驱动程序)或更改参数。...这种情况下,信任运作方式略有不同: BIOS 信任使用微软证书 SHIM。 使用微软证书签名 SHIM 信任另一组证书--自签名证书或 Canonical 证书。...问题在于: SHIM 可以用微软信任其他 EFI 二进制程序(如 Windows 加载器)代替。这将导致跳过整个信任,进入另一个我们无法控制流程。...使用 grub-standalone需要使用 Canonical 证书或自签名。如果使用自签名,我们将从 SHIM 移除 Canonical 证书,但这样就必须使用我们证书重新签名内核。...方便测试与开发:如果你想开发自己启动管理器,使用微软安全启动密钥签署文件过程繁琐而耗时,因此需要用自己密钥签署二进制文件。当软件按照预期运行时,就可以将它发送给微软进行签名了。 图3.

31010

CA证书介绍与格式转换

术语介绍 密钥对: 在非对称加密技术,有两种密钥,分为私钥和公钥。 公钥: 公钥用来给数据加密,用公钥加密数据只能使用私钥解密,公钥是密钥对持有者公布给他人。...因此拿自己持有的公钥对签名进行解密(密钥一种密钥加密数据必定能使用另一种密钥解密。)...在实际应用,通常将两者结合在一起使用,例如,对称密钥加密系统用于存储大量数据信息,而公开密钥加密系统则用于加密密钥。...所有类型证书和私钥都可以用DER格式编码。 DER通常与Java平台一起使用。 SSL转换器只能将证书转换为DER格式。...当应用程序需要通过SSL / TLS进行通信时,在大多数情况下将使用java keystore和java truststore。

4.4K10

基础篇:java.security框架之签名、加密、摘要及证书

,例如DES,PBE等等 非对称加密:非对称加密分为公钥和秘钥,二者是非对称,例如用私钥加密内容需要使用公钥来解密,使用公钥加密内容需要用私钥来解密,DSA,RSA 2 秘钥生成 对称加密密钥生成...密钥一般使用KeyGenerator创建,相当于一个密码值,其被试探出概率 MessageDigest支持算法:MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-...:用于构建证书(也称为证书路径) CertPathValidator:用于验证证书 CRL:证书吊销列表 CertStore:用于存储检索证书和CRL CertificateFactory和Certificate...和TrustManager作用: KeyManager负责向对等端显示使用凭证(使用密码标准、加密算法、证书、公钥、签名等) TrustManager负责验证从对等端收到凭证,验证凭证有多种方式:...在内部,CertPath实现可能会创建一个Signature对象,并使用它来验证证书每个签名 示例:生成SSLContext,并使用SSLContext初始化apache-httpClient public

1.6K10

PKI - 05 证书申请步骤

安装证书:最后,您需要将签发证书安装到您服务器或者应用程序,以便您系统可以使用证书来进行安全通信和身份验证。...获取根证书:在证书服务器设置好之后,需要获取根证书,这是证书最顶层证书,用于签署下级证书。根证书应该是由可信证书颁发机构(CA)签发。...生成密钥对:使用相应工具或库(如OpenSSL、JavaKeyPairGenerator等),在本地计算机上生成RSA密钥对。生成密钥对将包括一个公钥和一个私钥。...根证书是信任最顶层证书,用于验证证书其他证书真实性。 一旦实体获取了根证书,它可以通过根证书指纹(fingerprint)来进行离线验证证书服务器。...安装证书:最后,实体需要将收到数字证书安装到自己设备或应用程序,以便使用证书进行安全通信和身份验证。 通过以上步骤,实体可以成功申请个人证书,并在安全通信中使用证书进行身份验证和加密。

6400

Nginx(3)-创建 https 站点

对称加密 对称加密中加密和解密使用相同密钥,加解密速度快,算法公开,计算量。...)发送给接收方 接收方用CA公钥验证发送方数字证书合法性,包括用CA公钥解密数字证书、用相同签名算法ID提取指纹并与签名比对、数字证书有效期、证书主体名和被访问主机名或人名是否相同以及证书是否在吊销列表...SSL/TLS发生作用位置在 ISO/OSI 参考模型表示层、TCP/IP 模型应用层。...其次,客户端收到服务端证书根据证书验证真实性后,得到服务器可信公钥,然后再发送一个新随机数、编码改变通知(随后信息都将用双方商定加密方法和密钥发送)、客户端握手结束通知。...nginx 程序,覆盖原 nginx 程序,启动 nginx。

1.1K00

HTTPS 基本原理和配置 - 1

除此之外,还有一个使用 HTTPS 作为代理问题; 所以,如果你 NGINX 在另一个应用程序前面,你如何设置NGINX 作为 HTTPS 客户端。...另外,如果有人去访问一个网站,他们喜欢看到那个快乐锁图标。在本例是 nginx.com ,它启用了 HTTPS 和 HSTS (我将在后面讨论这个特性)。...4.6 证书(Certificate Chain) 证书不会直接由证书颁发机构签署; 这是一种建立起来信任。...如果你有一个证书,它通常是由一个中间证书颁发机构签署,而这个中间证书颁发机构是由真正证书颁发机构签署。...在这种情况下,并不是所有的浏览器都必须知道下一个证书是什么,并且浏览器实际上只与顶部绑定(真正脱机根证书)。因此,当你获得一个证书时,你还需要拥有整个信任

66220

SSL证书生成流程

由于SSL技术已建立到所有主要浏览器和WEB服务器程序,因此,仅需安装服务器证书就可以激活该功能了)。...一:什么是x509证书 x509证书一般会用到三类文件,key,csr,crt。 Key是私用密钥,openssl格式,通常是rsa算法。 csr是证书请求文件,用于申请证书。...在制作csr文件时候,必须使用自己私钥来签署申请,还可以设定一个密钥。 crt是CA认证后证书文件(windows下面的csr,其实是crt),签署人用自己key给你签署凭证。...特别说明: (1)自签名证书(一般用于顶级证书、根证书): 证书名称和认证机构名称相同. (2)根证书:根证书是CA认证中心给自己颁发证书,是信任起始点。...数字证书包含证书中所标识实体公钥(就是说你证书里有你公钥),由于证书将公钥与特定个人匹配,并且该证书真实性由颁发机构保证(就是说可以让大家相信你证书是真的),因此,数字证书如何找到用户公钥并知道它是否有效这一问题提供了解决方案

3.4K20

Node.js生态要靠区块拯救? 以太坊团队这位小哥给出了开源协作新方案

基于此,我有以下解决方案: NPM模块应该是多重签名; 应在区块上处理证书和信任模型; 开源开发人员根据他们对付费软件贡献来签署包并获得共享,这可以通过加密支付和智能合约自动处理; 新维护者只获得签名权...许多依赖 Electron 应用程序,仅仅是因为安装后没有及时更新,就将数百万用户置于危险之中了。 但即使你经常更新软件,又如何阻止恶意 NPM 程序包潜入应用程序代码库呢?...区块技术是一个很好解决方案,为创建一个更好生态系统,我们可以从以下两方面着手: 我们需要一种更简单方法,根据特定规则自动将奖励分发给开源开发人员 代码和模块需要进行多重签名,并且证书应更便宜且易于验证...那么,如何借助区块技术修复Node.js生态呢? 假设有一个使用开源模块且使用区块技术进行应用内付款项目。就像 event-stream 案例那样,众多依赖项某一个可能会成为恶意程序包。...其他签署模块项目已开始基于 PGP 密钥并采用此标准,这听起来是符合逻辑下一步骤,该标准在其他软件领域已经是一种常见做法。

70820

Android Studio2.3打包apk

平时我们程序可以在模拟器上安装并运行,是因为在应用程序开发期间是以Debug状态进行编译,因此ADT会自动用默认密钥证书来进行签名,而在以发布模式编译时,apk文件就不会得到自动签名,这样就需要进行手工签名...以同一个证书对多个应用程序进行签名,利用基于签名权限检查,你就可以在应用程序间以安全方式共享代码和数据了 。 2. keystore简介 java密钥库、用来进行通信加密用、比如数字签名。...3. jks简介 JAVAkeytools证书工具支持证书私钥格式 4. signature version v1 v2 通过查看谷歌官方资料和各位同仁见解,我们可以知道如下几点: 1.Android...在默认情况下,Android Studio 2.2 和 Android Plugin for Gradle 2.2 会使用 APK Signature Scheme v2 和传统签名方案来签署应用; ps...使用Android Studio打包时候,你可以使用eclipsekeystore,也可以使用jks。

87510

TLS协议分析 (五) handshake协议 证书密钥交换

要注意是,这意味着,一个包含某种签名算法密钥证书,可能被另一种签名算法签署(例如,一个RSA公钥可能被一个ECDSA公钥签署)。...固定DH证书可能使用”signature_algorithms”扩展列表 hash/签名算法对 某一个签署。...由于历史原因,某些客户端证书类型名字,包含了证书签名算法,例如,早期版本TLS, rsa_fixed_dh 意思是一个被RSA算法签署,并且包含一个固定DH密钥证书。...并且,如果证书某些方面是不能接受(比如证书没有被可信任CA签署),服务器可以自行决定,是继续握手(放弃要求客户端认证),或者发送一条fatalalert。...必须和服务器公钥使用同样曲线,同样点格式 如果 certificate_authorities 列表不是空,客户端证书某一个证书必须是CA某一个签署

1.4K20

【胖虎逆向之路】Android自制Https证书实现双向认证

1.3 加密方式 1.3.1 对称加密 对称加密是指双方持有相同密钥进行通信, 加密速度快,常见对称加密算法有DES\3DES\AES等~ 1.3.2 非对称加密 非对称加密,又称为公开密钥加密,是为了解决对阵加密安全问题而诞生...,因此可以将乘积公开,作为加密密钥; SSL 协议既用到了对称加密也用到了非对称加密(公钥加密),在建立传输路时,SSL 首先对对称加密密钥使用公钥进行非对称加密,路建立好之后,SSL 对传输内容使用对称加密...客户端因为在操作系统中就预置了 CA 公钥,所以支持解密签名 2.证书生成 基本概念讲完之后,我们来实际操作一下证书生成,博主这边主要使用到了open ssl~ 2.1 生成根证书(CA) 首先,...填写这些信息时要确保准确性,但在测试环境可以使用虚拟信息。...创建客户端密钥,生成证书签名请求(CSR)并签署客户端证书 openssl genrsa -out client.key 2048 openssl req -new -key client.key -

66810

OpenSSL配置HTTPS

: -new:表示生成一个新证书签署请求 genrsa:生成私钥 rsa:提取公钥 req:生成证书请求 x509:用于签署证书请求文件、生成自签名证书、转换证书格式等等一个公钥基础设施 首先来了解下非对称加密...,然后再看 HTTPS 流程,最后举例使用 2....(只包含英文、数字、+、/) 2.1 默认无密码方式 openssl 默认采用 pem 语法,PKSC1格式存储、注意 Java 是需要 PKSC12、JKS 格式才能使用,转换格式(公钥无需转换)...cer证书只包含公钥信息,提供给客户端使用 CA:认证机构,对证书进行管理 PKI:公钥基础设施,是为了更高效地运用公钥而制定一系列规范和规格总称(有PKCS、X509) x509证书:一般会用到三类文件...制作csr文件时,必须使用自己私钥来签署申请,还可以设定一个密钥 crt:CA认证后证书文件(windows下面的csr,其实是crt),签署人用自己key给你签署凭证 3.2 准备 查看 OpenSSL

1.6K30

16.计算机科学导论之网络信息安全学习笔记

MAC通过散列函数和密钥组合来保证消息完整性和消息验证。 消息验证流程: 1.Alice使用散列函数从密钥和消息连接创建了一个MAC,即h(K+M)。...例如: 展示了一个可靠第三方如何防止Alice抵赖她发过消息,此时是不是感觉下述流程与网站CA以及服务端、客户端证书颁发使用原理是一致 WeiyiGeek.使用可信第三方来达到不可抵赖性图...其流程如下: 首先 CA 中心检查 Bob 身份,之后 CA 向 Bob 要公钥, 并把它写在证书上, 为了防止证书本身被伪造, CA 用它私钥签署证书, 然后 Bob 可以上载签署证书, 任何需要...Bob 公钥的人就可以下载签署证书, 并使用中心公钥来抽取出 Bob 公钥。...方法3.X509: CA可以解决公钥伪造问题,但是它每个证书格式可能都不一样,如果Alice想利用程序来自动下载不同证书和不同人消息摘要, 所以为了解决这个问题ITU设计了X.509,它是一个结构化描述证书方法

51040

透过 Rust 探索系统本原:安全篇

在比特币世界里,每个区块完整性都由打包该区块矿工签名来保证,而整个完整性则由哈希本聪共识(最长)保证。...这其中第一个挑战就是:每个连接使用什么密钥来加密数据? 我们知道,在网络传输,非对称加密效率不高,不适合大量数据加密,而对称加密则需要双方共享密钥,才能正常通讯。...客户端在连接服务器时,会获取服务器证书,然后通过操作系统受信证书来验证服务器证书以及签署证书 CA,以及签署该 CA 上一级 CA 等形成整个证书可以由某个根证书验证。...证书作为一门生意,极大地破坏了互联网安全性,很多玩家不想支付每年证书费用,干脆就避免使用 HTTPS。letsencrypt 出现,几乎摧毁了各大吃相难看 CA 生意。...你无法让你服务器证书通过浏览器安全验证(因为证书不在系统根证书信任列表),因而,任何使用浏览器访问你服务器用户将无法使用服务。

1.1K21
领券