Password Algorithms: Cisco Unified Personal Communicator
2014-01-04 14:24
323 查看
PasswordAlgorithms:CiscoUnifiedPersonalCommunicator
密码算法:CiscoUnifiedPersonalCommunicator应用
原文链接:PasswordAlgorithms:CiscoUnifiedPersonalCommunicator
这个应用(CiscoUnifiedPersonalCommunicator)需要你在线花费一些时间才能获取到。因为思科阻止了一些下载,除非你符合几下几点:·DirectCustomer
·Partner-Reseller
·ServiceContractOwners
·CCIEProfessional
·PICACustomer
即,
1,思科的直接用户
2,服务合同业主
3,CCIE专业人员
4,PICA客户
我已经在我的Windows7工作站上安装了它,因此下面的测试结果可能因为机器不同而有些不同。
默认情况下,用户名与密码字段下面有一个复选框,它可以设置允许自动登录功能。
如果设置了允许自动登录,那么应用会在下面的路径中建立一个DAT文件。
C:\Users\dietrich\AppData\Local\Cisco\UnifiedCommunications\ClientServicesFramework\Config\Profile
文件的名字将会由UuidCreate这个函数生成,文件内容采取Base64进行编码。一旦解码,它会转换成和DPAPI相关的二进制大对象(BLOB)。
0000000001000000d08c9ddf0115d1118c7a00c0....ð..¯..Ð..z.+
000000104fc297eb01000000574aacd0b966a54bO-.Ù....WJ¼ð¦fÑK
00000020b347a3ea3785af430000000032000000¦GúÛ7.»C....2...
0000003061007500740068005f00730076006e00a.u.t.h._.s.v.n.
000000402e00730069006d0070006c0065002e00..s.i.m.p.l.e...
00000050770069006e0063007200790070007400w.i.n.c.r.y.p.t.
上面这个BLOB中特别有趣的是,它描叙了一个字符串,“auth_svn.simple.wincrypt”
我最初以为这可能是一些库的一部分,并且足够的相信它就是的。更确切来说,就是LibSVN
下面,我使用相同的描述(密钥)来加密数据,这是我测试代码的一个片段
/*-----------------------------------------------------------------------*/
/*Windowssimpleprovider,encryptsthepasswordonWin2kandlater.*/
/*-----------------------------------------------------------------------*/
/*Thedescriptionstringthat'scombinedwithunencrypteddatabythe
WindowsCryptoAPI.Usedduringdecryptiontoverifythatthe
encrypteddatawerevalid.*/
staticconstWCHARdescription[]=L"auth_svn.simple.wincrypt";
/*Implementationofsvn_auth__password_set_tthatencrypts
theincomingpasswordusingtheWindowsCryptoAPI.*/
staticsvn_boolean_t
windows_password_encrypter(apr_hash_t*creds,
constchar*realmstring,
constchar*username,
constchar*in,
apr_hash_t*parameters,
svn_boolean_tnon_interactive,
apr_pool_t*pool)
{
DATA_BLOBblobin;
DATA_BLOBblobout;
svn_boolean_tcrypted;
blobin.cbData=strlen(in);
blobin.pbData=(BYTE*)in;
crypted=CryptProtectData(&blobin,description,NULL,NULL,NULL,
CRYPTPROTECT_UI_FORBIDDEN,&blobout);
if(crypted)
{
char*coded=apr_palloc(pool,apr_base64_encode_len(blobout.cbData));
apr_base64_encode(coded,(constchar*)blobout.pbData,blobout.cbData);
crypted=svn_auth__simple_password_set(creds,realmstring,username,
coded,parameters,
non_interactive,pool);
LocalFree(blobout.pbData);
}
returncrypted;
}
相比写一个解密工具,我倒倾向于在调试器中输出由CryptUnprotectData返回的内容。
这是一个包含了明文凭据的XML文件,这正是PersonalCommunicator如何完成自动登录的。
<?xmlversion="1.0"encoding="UTF-8"standalone="yes"?>
<UserCredentialDetails><profileName>Profile1</profileName>
<credentials><username>userid</username>
<password>password</password>
<credentialsType>PRESENCE_SERVICE</credentialsType>
<rememberMe>true</rememberMe>
</credentials>
</UserCredentialDetails>
当然,这其中可能存在多个配置文件,但是我并没有继续研究下去了。
相关文章推荐
- 插入排序 (golang)
- Good Bye 2013
- goagent GAE平台部署教程
- 怎样在页面系统名称显示前添加logo
- #legoo内核# -- 准则二 :让每一个程序只做好一件事
- uwsgi.log中的重复日志
- Category 类别 知识点整理
- UVA 225 - Golygons(dfs回溯)
- Reverse Integer
- Password Algorithms: Internet Explorer 10 (Windows Vault)
- 简易配置django的static
- Good Bye 2013
- google 最佳实践 - ListView优化 (Making ListView Scrolling Smooth)
- 解决ubuntu下goldendict , skype ,wps 等输入框内中文不能切换问题!
- 我也说说bogomips
- mgo初探笔记
- GoldenGate 配置文档(二)
- GoldenGate 配置文档(一)
- django 自定模板标签的注册
- ubuntu 13.04 安装sougou输入法。