Microsoft HealthVault证书来自基于PHP的应用程序


Microsoft HealthVault Certificate from PHP based application

一些背景信息

我正在研究一个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