我正在研究WebShpere和PHP Web应用程序之间需要SSO实现的项目。

但是,在研究了实现SSO的可能方法之后,我找到了用于在不同IBM技术之间实现SSO的LTPA令牌。

但是LTPA令牌2是加密的cookie文件。如果我想使用此文件中的信息(例如(用户名,用户名,电子邮件等),我应该解密该信息。

我对LTPA令牌2进行了深入搜索,以下是我从IBM找到的最佳定义。


  LTPA2签名使用SHA-1作为哈希算法生成,并且
  RSA(1024位密钥)作为加密算法。数码后
  签名已附加,用户数据和签名已加密
  使用从LTPA密钥文件获得的3DES或AES密钥(请参阅
  “使用LTPA令牌”和“生成LTPA令牌”)。


但我仍在尝试解密此令牌,但没有运气。

有什么帮助吗?

最佳答案

Alfresco项目做到了这一点。看看这个blog post的指针,包括工作代码。

为了明确起见,LTPA令牌的内容或多或少是字符串,例如“ uid = user,cn = users,ou = myorg,dc = com @ ldaprealm%timeout%[RSA签名]”,并使用共享AES密钥加密并使用Base64编码。 LTPA v2将不使用3DES,而仅使用AES。因此,您真正需要做的是AES解密cookie,并且您已经可以读取用户名。您不必验证RSA签名。

10-07 21:22