Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7704107
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T23:36:38+00:00 2026-05-31T23:36:38+00:00

I’m building a python app where a client side will request xml pages from

  • 0

I’m building a python app where a client side will request xml pages from a server (also running python).

I would like to do something on the line of puppet configuration management system. Puppet works as follow:

1) If the client runs for the 1st time, it generates a Certificate Signing Request and a private key. The former is an x509 certificate that is self-signed.
2) The client connects to the master (at this time the client is not authenticated) and sends its CSR, it will also receives the CA certificate and the CRL in return.
3) The master stores locally the CSR
4) The administrator checks the CSR and can eventually sign it (this process can be automated with autosigning). I strongly suggest verifying certificate fingerprint at this stage.
5) The client is then waiting for his signed certificate, which the master ultimately sends.
6) All next communications will use this client certificate. Both the master and client will authenticate each others by virtue of sharing the same CA.
(from http://www.masterzen.fr/2010/11/14/puppet-ssl-explained/)

The main things that I don’t know how to do are:
– Which are the best libs to use?
– What to use on the server side? Will Django behind apache/nginx be able to sign the certificate on the first run and do the auth using the certificates thereafter or I need to use something like twisted on the front end?
– The best way to send the CSR would be a POST to the server?
– Do any one knows if there is some code examples available that would cover both client and server sides?
– Is there any other way to establish a trusted connection between client/server without human iteration (what is the best practice for authentication between webservices)?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T23:36:39+00:00Added an answer on May 31, 2026 at 11:36 pm

    There’s a Python wrapper around M2Crypto called pki that makes creating CSRs and such easy. You should be able to use Django for this, I see no reason why you’d need Twisted.

    You might as well send the CSR with a POST, yes, there’s nothing confidential in there – that’s the point.

    The pki package I linked to has rather thorough docstrings that should get you going.

    I don’t think you’ll be able to establish a “trusted connection” without any human intervention. Trust is a human concept – and so you’ll need to approve at least the first connection request, and hopefully you’ll verify if the person that’s trying to connect is truly authorized.

    Note that “verify” in this context means calling a person and asking them who are they and why they’re trying to connect to your service, and asking them to confirm the fingerprint of the private key used for the CSR.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We're building an app, our first using Rails 3, and we're having to build
I am currently running into a problem where an element is coming back from
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I would like to count the length of a string with PHP. The string
For some reason, after submitting a string like this Jack’s Spindle from a text
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I have a French site that I want to parse, but am running into
In my XML file chapters tag has more chapter tag.i need to display chapters
I would like to run a str_replace or preg_replace which looks for certain words
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.