从Java映射访问KeyStore

2020-09-10 08:49发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家

我正在研究PI 7.3双堆栈。 有一个要求,Java映射必须访问密钥存储管理器并获取NWA中维护的数字密钥。 请提供任何示例代码和相关的jar文件。

谢谢,

Rana Brata De

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家

我正在研究PI 7.3双堆栈。 有一个要求,Java映射必须访问密钥存储管理器并获取NWA中维护的数字密钥。 请提供任何示例代码和相关的jar文件。

谢谢,

Rana Brata De

付费偷看设置
发送
11条回答
SKY徐
1楼-- · 2020-09-10 08:57

嗨,

您在这里:

 import java.rmi.RemoteException;
 导入java.security.KeyStore;
 导入java.security.KeyStoreException;
 导入java.security.PrivateKey;
 导入java.security.Security;
 导入java.security.cert.Certificate;
 导入java.security.cert.X509Certificate;
 导入javax.naming.InitialContext;
 导入javax.naming.NamingException;
 导入com.sap.engine.interfaces.keystore.KeystoreManager;
 导入com.sap.security.core.server.ssf.SsfProfileKeyStore;
 导入com.sap.aii.mapping.api.StreamTransformationException;


 私有静态SsfProfileKeyStore getCertProfile(字符串别名,字符串密码)抛出StreamTransformationException {
//从AS Java的密钥库服务获取配置文件
 InitialContext ctx = null;
 尝试{
 ctx = new InitialContext();
 } catch(NamingException ex){
 抛出新的StreamTransformationException(" Initial context:" + ex.getMessage(),ex);
 }

 KeystoreManager manager = null;
 尝试{
 manager =(KeystoreManager)ctx.lookup(" keystore");
 } catch(NamingException ex){
 抛出新的StreamTransformationException(" Named object:" + ex.getMessage(),ex);
 }

 KeyStore keyStore = null;
 尝试{
 keyStore = manager.getKeystore(" DEFAULT");
 } catch(RemoteException ex){
 抛出新的StreamTransformationException(" Default keystore:" + ex.getMessage(),ex);
 }

 SsfProfileKeyStore配置文件= null;
 尝试{
 profile =新的SsfProfileKeyStore(keyStore,别名,密码);
 } catch(ex KeyStoreException ex){
 抛出新的StreamTransformationException(" Profile:" + ex.getMessage(),ex);
 }

 返回个人资料;
 }

 (...)

 SsfProfileKeyStore配置文件= getCertProfile(别名,密码);
 私钥=(PrivateKey)profile.getPrivateKey();
 X509Certificate []链= profile.getCertificateChain();
 

致谢,

Andrzej

悻福寶寶
2楼-- · 2020-09-10 09:19

尊敬的Andrzej,

感谢您的回复。 我可以访问密钥存储并查看一些密钥,即

安全存储,TrustedCA,DEFAULT,WebServiceSecurity,WebServiceSecurity_Certs。 我们以公司的名义制作了类似的证书,并在其中导入了证书。 但是我们看不到那个。 我们的目标是从映射中找到证书和私钥。

感谢和问候,

Rana Brata De

1788571-PI映射类的保护域

软件心理学工程师
4楼-- · 2020-09-10 09:18

奥托,您好吗?

请让我知道您如何获取库com.sap.aii.af.service.resource.SAPSecurityResources以便执行下面的comand:

managerPriviliged = com.sap.aii.af.service.resource.SAPSecurityResources.getInstance()。getKeyStoreManager(com.sap.aii.security.lib.PermissionMode.SYSTEM_LEVEL)

我一直在搜索该库,因为我想在我的java映射中使用此命令,但是我搜索了所有位置,但找不到它。

谢谢。

路亽曱_Ryan
5楼-- · 2020-09-10 09:11

791649-用户无法通过票证登录

当学会了学习
6楼-- · 2020-09-10 09:01

票证无法解决问题

一周热门 更多>