Microsoft HealthVault Certificate from PHP based application

746 Views Asked by At

Some background Info

I am working on a PHP application that is supposed to interact with Microsoft HealthVault. I was able to download the health vault library from https://sourceforge.net/projects/healthvaultphp/ and get the data stored in my healthvault test account.

Now the library came with "sandbox" app.id, app.cer, etc. all the authentication stuff. So the issue I am having is how to get live certificate for my php app. I downloaded the makecert.exe file from microsoft to generate a certificate for me, but it generates a binary file compared to the text files included in the healthvaultphp library.

my question

How and what should go into following files?

authentication/app.cer

authentication/app.fp

authentication/app.pem

1

There are 1 best solutions below

0
On

I completely forgot that I had posted this question here... following is how I resolved this issue:

Microsoft Healthvault setup in PHP Files needed:

app.pem
    RSA private key
app.cer
    Certificate file
app.id
    Application ID
app.fp
    Application thumbprint

Generating PEM and CER files

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

At this point your app.cer, app.pem, app.id, and app.fp files are ready to be used.

Healthvault application configuration https://config.healthvault-ppe.com/default.aspx

HealthVault Developer Center http://msdn.microsoft.com/en-us/healthvault/bb688183

HealthVault Thing definitions http://developer.healthvault.com/types/types.aspx