Coder Social home page Coder Social logo

certviewer's Introduction

CertViewer

Certificate viewer is a plugin for Altap Salamander, allowing a user to view information about encrypted certificate files. Currently it supports viewing of X.509 certificates in the following formats: PEM (Base64 encoding), DER (encoded binary).

The plugin is based on the OpenSSL project and it automates openssl commands, that parse and dump information from certificate files. Moreover, it does automatic detection of a file format, and supports most of the common certificate file formats.

Building the plugin

To get started, download and install the Altap Salamander SDK. This project was developed with the latest version 3.8 (ftp://ftp.altap.cz/pub/altap/salamand/as308sdk.7z). Download and unpack the archive with SDK into your project directory. Project file is preconfigured to use the Altap Salamander SDK, so it has to be cloned into path: as308sdk\salamand\plugins\certviewer.

Project depends also on the OpenSSL library, it was depeloped and tested with version 1.0.2p. Porting it to a never version should be smooth. Poject is preconfigured to use vcpkg utility, which automates installation of 3rd party libraries, and Visual Studio can then automatically detect and use the installed libraries.

Clone the vcpkg repository into your project directory.

c:\projects> git clone https://github.com/Microsoft/vcpkg.git
c:\projects> cd vcpkg
c:\projects\vcpkg> vcpkg integrate install

Build the vcpkg utility:

c:\projects\vcpkg> bootstrap-vcpkg.bat

And install the OpenSSL library (both x86 and x64 static libraries):

c:\projects\vcpkg> vcpkg install openssl:x86-windows-static
c:\projects\vcpkg> vcpkg install openssl:x64-windows-static

We have the development environment ready. Now you can open this project in Visual Studio, project files are in as308sdk\salamand\plugins\certviewer\vcproj\. Project is preconfigured for Visual Studio 2017, but it would be easy to downgrade it to older versions (some tips are here). Compilation should be successful.

Debugging

Altap Salamander SDK contains a special version of salamand.exe, which should be used for debugging plugins under developent. It can be found here: as308sdk\bin\vc2008\SDK_x86\salamand.exe (or under SDK_X64). Configure your project in Visual Studio, let it starts this executable for debugging the plugin. Once salamander is running, open Plugins Manager dialog from Plugins menu, press Add... button and find the certview.spl file, that was compiled by this project.

Using the plugin

The CertView plugin views information of the most common certificate files. List of the registered file extensions can be seen in Configuration dialog from Options menu, under path Viewers and Editors/Viewers.

This is a viewer plugin, so select a certificate file in Salamander, press F3 key and the viewer will show information about the certificate. If you wand to see the raw data instead, press Shift+F3 keys.

Contributing

This is my first project where I used the OpenSSL library. I don't feel as a security expert, so your contributions are welcome. Here are some ways you can contribute:

Future development

  • Resolve TODOs in the code.
  • Improve certificate file format detection. Current way is not optimal, but for a viewer it should be ok.
  • Support viewing password-protected certificates.
  • Unicode support.

License

Code licensed under the Unilicense.

certviewer's People

Contributors

lejcik avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.