我想在java中创建证书链,如下所示:
ca.mycompany.com
|--asia.mycompany.com
|--india.mycompany.com
Run Code Online (Sandbox Code Playgroud)
其中ca.mycompany.com是根证书(自签名).
我知道这可以通过OpenSSL实现.但是有可能用keytool实现这一目标吗?
如果没有,我可以使用Mozilla NSS库实现这一目标吗?
我无法使用keytool(java 8)更改PKCS密钥库密码.当我尝试更改密钥密码时:
keytool -keypasswd -keystore keystore.p12 -storetype PKCS12 -storepass oldpass -keypass oldpass -new newpass
keytool error: java.lang.UnsupportedOperationException: -keypasswd commands not supported if -storetype is PKCS12
Run Code Online (Sandbox Code Playgroud)
这意味着无法为PKCS12密钥库更改密钥密码.然后我尝试更改密钥库密码:
keytool -storepasswd -keystore keystore.p12 -storetype PKCS12 -storepass oldpass -new newpass
Warning: Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified -new value.
keytool error: java.io.FileNotFoundException: keystore.p12 (Access is denied)
Run Code Online (Sandbox Code Playgroud)
这意味着,我们必须一起更改密钥库密码和密钥密码.但是没有命令可以改变它们.我能做什么?
我有一张桌子:
ID | Name | Date
1 | ABC | 2015-01-01
2 | XYZ | 2015-01-02
3 | ABC | 2015-01-03
4 | ABC | 2015-01-04
Run Code Online (Sandbox Code Playgroud)
我想查询此表,结果如下:
ID | Name | Date | NextDate
1 | ABC | 2015-01-01 | 2015-01-03
2 | XYZ | 2015-01-02 | null
3 | ABC | 2015-01-03 | 2015-01-04
4 | ABC | 2015-01-04 | null
Run Code Online (Sandbox Code Playgroud)
一个解决方案是:
select t1.*,
(select min(t2.Date) from TAB t2 where t2.ID > t1.ID t2.Name = t1.Name) NextDate
from TAB …Run Code Online (Sandbox Code Playgroud)