Importing secrets from a C# application

I have written an application in C# that deploys systems to Azure and other systems. The application generates credentials (usernames and passwords) for each host and for each service running on each host. The number of secrets is proportional to the number of hosts being deployed. For example, I have over a 100 credentials for a single deployment. In many cases credentials are reused if it was generated before. After all, I can't change the host credentials without knowing the previous credentials.

I'd like to modify the C# application to generate a file that can be imported into a 1Password vault, so folks can use 1Password to access credentials whenever they need to access the hosts [or services on the host]. Do you have any guidance on doing that? The application doesn't always run on a host with 1Password installed. It would even be better if I can encrypt that file in a way that 1Password can understand. This would allow me to store the file in a common windows file share.


1Password Version: 4.6.0.604
Extension Version: Not Provided
OS Version: Windows 10
Sync Type: Not Provided

Comments

  • MrC
    MrC
    Volunteer Moderator
    edited August 2016

    Hi @bloudraak ,

    You probably will want to create a 1PIF file. Take a look at the converter suite, especially the file Utils/PIF.pm. It should explain sufficiently the required formatting of the 1PIF.

    Ask if you have more questions.

  • bloudraak
    bloudraak
    Community Member

    Is the 1PIF format documented? Perl isn't my forte.

  • MrC
    MrC
    Volunteer Moderator
    edited August 2016

    @bloudraak

    Not externally, that I'm aware of. You might be able to examine a 1pif file and use the code as a reference.

    The problem is that 1PIF has grown over time, and there are lots of special cases. I developed this module over time through reverse engineering, and lots of trial and error. So far as I know, this is the most comprehensive "documentation" available publicly.

    I'm happy to help you if you want to chat, or something.

This discussion has been closed.