Closed

Javascript class made for PKCS10 and light web work

This project received 10 bids from talented freelancers with an average bid price of $766 USD.

Get free quotes for a project like this
Employer working
Project Budget
$250 - $750 USD
Total Bids
10
Project Description

I have a web page here: [url removed, login to view] that can be used to help people construct the command line to generate a certificate request.

I want this page updated so that you can feed it a certificate request and it can re-construct what command line would have produced that certificate request.

I want this to be done entirely client side in javascript, to do this one will need to create a javascript class that has a constructor that takes a base64 encoded certificate request and on instantiation creates a javascript object with all of the associated elements from the certificate request.

The decoding can be implemented on top of [url removed, login to view]

The class would look something like:

PKCS10(PEM PKCS10)
.Subject
.PublicKey
.SignatureAlgorithm
.Extensions = (array of ID, Value)
.Attributes = (array of ID, Value)

It will be able to decode the following extensions:
Extended Key Usage
Key Usage
Basic Constraints

This will be useful resource: [url removed, login to view] as it does the leg work to define where the data elements are in the ASN.1.

To keep code re-usable, and readable constants and functions that this PKCS10 class uses from other standards will be in a dependency ([url removed, login to view]) like was done here: [url removed, login to view]

I also want the website updated to support adding additional organization units (OUs) and various subject alternative names as was done in this website:
[url removed, login to view]

The addition of subject alternative names requires the creation of a configuration file as was done in one of the current examples on [url removed, login to view]; this creation of a configuration file adds complexity so I only want it created when options are chosen by the user that require the creation configuration file.

I want an advanced option added to the page that is hidden under a UI affordance of some sort that allows the user to paste a Base64 CSR into it, that field will use [url removed, login to view] to validate the request has the appropriate PEM armor for a certificate request:
"^-----(BEGIN|END) (|NEW )CERTIFICATE REQUEST-----$")

It would be nice if it also used: [url removed, login to view] for this.

A valid CSR being present will be all that is necessary to do the decode (aka no button).

Depending on your assessment of complexity after completion I also would like to add verifying the signature done based on web crypto using a polyfill (such as this one [url removed, login to view]) as well as generating keys and signing the resulting keys using the same poly fill.

See: [url removed, login to view] for an idea of what signature verification might look like in the UI (this is done server side)

And see [url removed, login to view] for example of key generation and signing might look like.

I have lots of future work for the right candidate.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online