一些背景信息
我正在研究一个PHP应用程序,应该与微软HealthVault进行交互。我能够从https://sourceforge.net/projects/healthvaultphp/下载健康保险库库,并获得存储在我的健康保险库测试帐户中的数据。
现在库附带了"sandbox" app.id, app.cer等所有认证的东西。所以我遇到的问题是如何为我的php应用程序获得实时证书。我从微软下载了makecert.exe文件为我生成证书,但与healthvaultphp库中包含的文本文件相比,它生成了一个二进制文件。
我的问题
下列文件应该包含哪些内容?
认证/app.cer 认证/app.fp 认证/app.pem我完全忘记我在这里发布了这个问题…以下是我解决这个问题的方法:
Microsoft Healthvault在PHP中的设置所需文件:
app.pem
RSA private key
app.cer
Certificate file
app.id
Application ID
app.fp
Application thumbprint
生成PEM和CER文件
Download and install Microsoft Healthvault SDK
http://msdn.microsoft.com/en-us/healthvault/bb688183
Install as an administrator
Once installed create new application
Click ‘Create New Application’ button
Uncheck ‘Automatially…website…application’ box
Click ‘Create and Register application’ button
It will create a certificate name ‘WildcatApp-<appid>’
app.id will contain <appid>
At this point you can click on the ‘HealthVault Application Configuration Center’ link and setup your HealthVault application.
Generate the PFX file
Right-click on your ‘Certificate Name’
Click ‘Export public and private keys (.pfx)’ menu item
Select the desired location for the .pfx file, preferably in third_party/microsoftHealthVault/authentication
Converting PFX file to certificate and private key files
Do this in your linux vm, you should at this point have access to .pfx file because you put in location mentioned on 3.c
You will need to use ‘openssl’ to do the next steps
Generate app.cer
openssl pkcs12 -in <filename>.pfx -clcerts -nokeys -out app.cer
press ‘enter’ when asked for ‘import password’
This file should only contain text starting at ---BEGIN CERTIFICATE--- to ----END CERTIFICATE---- everything before and after should be deleted
Now you have app.cer file
Generate app.pem
openssl pkcs12 -in <filename>.pfx -out app_enc.pem –nocerts
press ‘enter’ when asked for ‘import password’
type in your host windows login password for ‘PEM pass phrase’
This will generate an encrypted private key file
The encrypted private key file needs to be unencrypted to be able to use in the application
openssl rsa -in app_enc.pem -out app.pem
Now you have the app.pem file
Log in to your healthvault configuration screen to get the app id and thumbprint
https://config.healthvault-ppe.com/default.aspx
Copy the ‘Application Id’ and insert it in the app.id file
Click on the ‘Application Id’
Click on the ‘Public certs’ tab
Copy the ‘Thumbprint’ and insert it in the app.fp file
此时,app.cer、app.pem、app.id和app.fp文件已经可以使用了。
健康库应用程序配置https://config.healthvault-ppe.com/default.aspx
HealthVault Developer Centerhttp://msdn.microsoft.com/en-us/healthvault/bb688183
HealthVault事物定义http://developer.healthvault.com/types/types.aspx