Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement UsernamePassword method #9

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

hansjoachimknobloch
Copy link
Contributor

And by the way:
Despite Microsoft saying otherwise in some parts of their documentation, Certificate authentication to CEP/CES doe not require message authentication but works with transport authentication using a TLS client certificate for HTTPS.

cepces/soap/auth.py Outdated Show resolved Hide resolved
# Use the following AD password.
#
# Default: <not defined>
#password = ADpassword
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a good idea. I don't want AD passwords stored in a plain text file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not too fond of the idea either. However that concept was already in the part of the code for UsernamePassword authentication found in the master branch.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I didn't write that code ;-)
I think we could make this work with the creds stored in a keyring, if you want to pursue the idea.

@dmulder
Copy link
Collaborator

dmulder commented Mar 22, 2022

I don't think we should be implementing the username/password authentication, because this encourages users to place passwords in a plain-text file (at least the way it is currently written).
An alternative I'd consider is if we stored the creds in a keychain (such as using python keyring).

@dmulder
Copy link
Collaborator

dmulder commented Mar 22, 2022

@hansjoachimknobloch Maybe you could separate the UsernamePassword and Certificate auth methods into 2 different merge requests here. I'm ok with the Certificate auth.
Then we could continue to work through a potential solution for UsernamePassword auth.

@hansjoachimknobloch
Copy link
Contributor Author

@dmulder What would you think about using a fitting certmonger getcert-request command-line parameter for transferring the AD password to cepces-submit as environment variable. "-L" might work.
However I do not yet know whether and if so, where, certmonger stores such passwords for certificate renewal.

@dmulder
Copy link
Collaborator

dmulder commented Mar 22, 2022

@dmulder What would you think about using a fitting certmonger getcert-request command-line parameter for transferring the AD password to cepces-submit as environment variable. "-L" might work. However I do not yet know whether and if so, where, certmonger stores such passwords for certificate renewal.

IIRC, you can list those later, so you would still be exposing the password.

@hansjoachimknobloch
Copy link
Contributor Author

IIRC, you can list those later, so you would still be exposing the password.

Thinking about it twice, -L probably wouldn't even work the way I imagined because certmonger will incorprate the SCEP challenge password directly into the CSR and not even pass it to cepces-submit in a separate environment variable.

@dmulder dmulder changed the title Implemented UsernamePassword and Certificate authentication methods. Implement UsernamePassword method May 3, 2022
@dmulder
Copy link
Collaborator

dmulder commented Jul 11, 2022

@dmulder What would you think about using a fitting certmonger getcert-request command-line parameter for transferring the AD password to cepces-submit as environment variable. "-L" might work. However I do not yet know whether and if so, where, certmonger stores such passwords for certificate renewal.

We could provide a cepces-submit command line parameter, then overwrite the args to prevent seeing the password in a ps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants