--
You received this message because you are subscribed to the "Military Open Source Software" Google Group.
To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en
www.mil-oss.org
While I'm not allowed to mess with our touch git with a 100ft. pole (per Agency policy :( ), I hear the common consensus is to use Apache httpd to front git. You can then set up Apache to do all the pki authentication work. I don't know how to get that working with the git client though, maybe the apache method only give you repo viewing through https? Or maybe the git client works fine that way?
On a side note, git is in the roadmap for software.forge.mil, or that is what the git forge.mil change request tracker comments say.
-ben
-----Original Message-----
From: mil...@googlegroups.com [mailto:mil-oss@googlegroups.com] On Behalf Of David Dyess
Sent: Tuesday, May 22, 2012 6:47 AM
To: mil...@googlegroups.com
Subject: Re: [mil-oss] CAC enabled git
Haha, same here!
On Tue, May 22, 2012 at 5:07 AM, Josh Doe <j> wrote:
On Mon, May 21, 2012 at 11:21 PM, caneridge <> wrote:
> Has anyone made any progress setting up CAC enabled git?
Not that I know of, but I'm certainly interested in seeing progress on
this. I've been lazy and haven't put our stuff up on
Software.Forge.mil yet because everything I have is in git and I don't
want to be bothered to downgrade to SVN.
-Josh
--
You received this message because you are subscribed to the "Military Open Source Software" Google Group.
To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com <mailto:mil-oss%2Bunsubscribe@googlegroups.com>
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en
www.mil-oss.org
--
You received this message because you are subscribed to the "Military Open Source Software" Google Group.
To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com
I've never looked at CAC enabling Git (since I don't use it). I have submitted patches for Fossil to support S/MIME signed commits in addition to GPG signed commits. I assume you are wanting something similar ? I believe Git has the same support for GPG signed commits, so the changes would be generally the same: 1. Verify signatures on manifests (done by an external program in Fossil) 2. Strip signatures on manifests ( http://www.rkeene.org/viewer/tmp/fossil-6ca400a315-add-smime-support-1rsk.diff.htm ) 3. Add signatures to manifests (done by an external program in Fossil) The verification is trivially done with OpenSSL since the certificate authorities are usually not accessed via PKCS#11. The addition of the signatures can also be done with OpenSSL using the PKCS#11 engine from the OpenSC project, or it's fairly simple to write your own code to talk to the PKCS#11 provider and ask it to perform the cryptographic operation and have OpenSSL SMIME it. Thanks, Roy Keene On Tue, 22 May 2012, Brian Jones wrote: > Has anyone pursued setting up CAC enabled git (PKCS#11)? We are working towards using git on our highly distributed unclass project for the Navy for government side source hosting. It would really help if there was support from the forge.mil community on setting up CAC enabled git. > > My assumption from what I've learned so far is that git over CAC enabled SSH would be the way to go although I am not a CAC or a SSH expert. > > Brian > _______________________________________________ > > General Discussion > https://software.forge.mil/sf/go/post13837
Roy, Right. To provide some context, we are looking at a government hosted git repository that users need a CAC card (and possibly login credentials) to clone and some kind of assurance of who committed to clones as changes propagate back to the government repositories. Clones live on the contractor side and can be re-cloned to setup change flow through two or more git repositories. We need the mechanism you describe for the contractor side commits. Brian
The good news is that git version 1.7.9 (released January 2012) has support for signed tags, which improves support for checking that committers are who they say they are. If CAC support is to be added, I’d like to see those integrated (which SHOULD be easy, though those are famous last words).
More info available about git signed tags are at:
http://git-blame.blogspot.com/2012/01/git-179.html
https://lwn.net/Articles/473220/
http://git-blame.blogspot.com/2012/01/using-signed-tag-in-pull-requests.html
http://git-blame.blogspot.com/2011/08/how-to-inject-malicious-commit-to-git.html
https://plus.google.com/102150693225130002912/posts/jXEoT2Acrvm
In particular, “the resulting merge commit records the content of the signed tag, so that other people can verify that the branch merged by the integrator was signed by the contributor, without fetching the signed tag used to validate the pull request separately and keeping it in the refs namespace.”
--- David A. Wheeler
--
I will. I work for Forge.Mil.
Howie Cohen
CAC-Enabled SSH should get you what you need right? It doesn't sound like CAC-Enabling Git specifically is necessary, unless you want developers to sign every commit to their local git repository with their CAC (A little hard to enforce I would think, but I don't know much about that). Rather I would say you want developers to access the git remote "origin" over ssh using the RSA keypair on the CAC for authentication. If this is what you want to do, then I cam currently working on a soultion which does exactly that. OpenSSH (I've said this before) supports PKCS11 out of the box, read the ssh-add man page and look for the -s option. You can use your CAC to authenticate you to an SSH server provided that you have installed the public portion of the CAC RSA keypair on the server in your authorized_keys file. (This is all Linux, I hope that I can accoplish the same thing on Windows with PuttySC) The problem in this space is there is no way to ensure that 1. Everyones authorized_keys file only contains public keys from CAC cards. 2. None of the certificates from which those public keys came have been revoked. I am in the final stages of enabling my openssh server to overcome both of these problems, ensuring that users are connecting via SSH with their CAC and their certificate is not revoked. It may be applicable to what you want to do, but you'll need access to an OCSP server to use my solution, and I'm probably going to have to check with my organization before I release anything to anyone. Also, for anyone reading this, if there is already a known solution to what I am talking about, I would be very interested in knowing it. -Andrew
Andrew, I solved that problem a few years ago. I wrote a patch against the client SSH Agent to support forwarding the user's certificate through the SSH Agent and also to support raw hashing. This enabled me to write a PKCS#11 provider that talked to the local SSH agent socket, which talked to the SSH agent on the workstation attached to the smartcard which talked the PKCS#11 provider that talks PC/SC to the reader and passes APDUs to the card. The end result is that my CAC is available on machines I login to. I use this with pam_pkcs11 for PAM on remote hosts (to things like "sudo") but I haven't verified that it works for authentication natively during SSH. I'm sure with a bit of work that could be accomplished. Note that the only thing I have modified here is the client's SSH agent. At one point I was going to port these changes to PuTTy's SSH agent but I've never been inclined to do so. Thanks, Roy Keene
> CAC-Enabled SSH should get you what you need right? It doesn't sound like CAC-Enabling Git specifically is necessary, unless you want developers to sign every commit to their local git repository with their CAC (A little hard to enforce I would think, but I don't know much about that).
Actually, I *would* like to see something *like* this. There’s an intermediate: tagging a particular version, and signing *that* version with a CAC. Git now supports signed tags, so that they are stored in the repository & can be verified by third parties later. It’s be nice to be *able* to sign every git commit too, actually; it’s not that hard. But I think signing tags is the better way.
--- David A. Wheeler
From: mil...@googlegroups.com [mailto:mil...@googlegroups.com]
On Behalf Of caneridge
Sent: Tuesday, May 22, 2012 4:56 PM
To: mil...@googlegroups.com
Subject: Re: [mil-oss] Re: CAC enabled git
From forge.mil:
Rather I would say you want developers to access the git remote "origin" over ssh using the RSA keypair on the CAC for
authentication. If this is what you want to do, then I cam currently working on a soultion which does exactly that.
OpenSSH (I've said this before) supports PKCS11 out of the box, read the ssh-add man page and look for the -s option.
You can use your CAC to authenticate you to an SSH server provided that you have installed the public portion of the CAC
RSA keypair on the server in your authorized_keys file. (This is all Linux, I hope that I can accoplish the same thing
on Windows with PuttySC)
The problem in this space is there is no way to ensure that
1. Everyones authorized_keys file only contains public keys from CAC cards.
2. None of the certificates from which those public keys came have been revoked.
I am in the final stages of enabling my openssh server to overcome both of these problems, ensuring that users are
connecting via SSH with their CAC and their certificate is not revoked. It may be applicable to what you want to do,
but you'll need access to an OCSP server to use my solution, and I'm probably going to have to check with my
organization before I release anything to anyone.
Also, for anyone reading this, if there is already a known solution to what I am talking about, I would be very
interested in knowing it.
-Andrew
--
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com <mailto:mil-oss%2Bunsubscribe@googlegroups.com> <mailto:mil-oss%2Bunsubscribe@googlegroups.com <mailto:mil-oss%252Bunsubscribe...@googlegroups.com> >
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en <http://groups.google.com/group/mil-oss?hl=en>--You received this message because you are subscribed to the "Military Open Source Software" Google Group.To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com <mailto:mil-oss%2Bunsubscribe@googlegroups.com>
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en <http://groups.google.com/group/mil-oss?hl=en>--You received this message because you are subscribed to the "Military Open Source Software" Google Group.To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en--You received this message because you are subscribed to the "Military Open Source Software" Google Group.To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com <mailto:mil-oss%2Bunsubscribe@googlegroups.com> <mailto:mil-oss%2Bunsubscribe@googlegroups.com <mailto:mil-oss%252Bunsubscribe...@googlegroups.com> >
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en <http://groups.google.com/group/mil-oss?hl=en>--You received this message because you are subscribed to the "Military Open Source Software" Google Group.To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com <mailto:mil-oss%2Bunsubscribe@googlegroups.com>
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en <http://groups.google.com/group/mil-oss?hl=en>--You received this message because you are subscribed to the "Military Open Source Software" Google Group.To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en--You received this message because you are subscribed to the "Military Open Source Software" Google Group.To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+unsubscribe@googlegroups.com
--
You dont have to use git via ssh. I've been using git with 2 way ssl via https for some time now using client side certs. It's just as easy to set up (the client anyways) as svn. Given that, it may already be feasible to use pkcs11 instead of a pem cert and key. I believe git gets its https support from the underlying libcurl. So if youre using curl-openssl then you configure the git client one way, if using curl-nss then you configure another way. Either way, you can already use 2 way ssl with client certs, just not sure how to point it to a cac for this since i use an ECA cert.
Anyone have any experience in meeting the security requirements of AR25-2 using PHP? My firm has a classic ASP App that needs updating. I'm leaning towards PHP but there are concerns from army. Any thoughts, advice, suggestion, links are greatly appreciated.
Thanks
Tim
Sent from my iPhone
On May 22, 2012, at 5:33 PM, "Wheeler, David A" <dwhe...@ida.org> wrote:
> In my mind, what's clearly needed is a simple way to buy a service that is an network-accessible development environment. Send somebody $500, and within 1 day you get a network-accessible virtual machine with RHEL or Windows and a passel of development tools (gcc/Java/whatever, git/subversion/whatever, vi/emacs/Eclipse, etc.) so that you can do software development (with maybe $100/year maintenance fees). Perhaps DISA's "Server Hosting and Virtualization" could be used to do this, but I don't think it's designed to do that at all. My fee numbers aren't real; my point is that if the prices are too high, people won't use them (we *have* to have realistic cost figures!).
>
> Just having a forge with CM (subversion/git) + bugtracker (bugzilla), like forge.mil, doesn't help if you can't download the code somewhere, change it, test it, and then post/submit it back. In many places in the commercial world this is a non-event, you just install the software, but that's a big complication in many places in the DoD.
>
> --- David A. Wheeler
>
>
> -----Original Message-----
> From: mil...@googlegroups.com [mailto:mil...@googlegroups.com] On Behalf Of Congdon, Benjamin E CIV DISA CTO
> Sent: Tuesday, May 22, 2012 5:16 PM
> To: mil...@googlegroups.com
> Subject: RE: [mil-oss] CAC enabled git
>
> Git is not approved by our CIO for use on the network we currently have access to and use every day for administrative tasks. Git is also considered a development tool which are all flat out verboten on that network per policy. We would only be able to use git on a commercial internet circuit where we would develop applications, however that request did not make the GIG waiver process. Our group is desperately seeking a network with an internet/NIPR gateway to do development on but we have not found one yet that our CIO would allow us to use (even DREN). The issue is not necessarily git it is any compiler; gcc, JDK, etc... These are not allowed on these networks. While you may not need a compiler for git... what is the use if I can't develop anything to put in git. I might be able to use it for revision control of documents/binary/text/whatever but we have SharePoint for that (sorry) :) We ARE allowed to "develop" on a standalone, isolated machine, but that is unusable as a development environment
>
>
>
> -ben
>
>
> -----Original Message-----
> From: mil...@googlegroups.com [mailto:mil-oss@googlegroupscom] On Behalf Of caneridge
> Sent: Tuesday, May 22, 2012 12:29 PM
> To: mil...@googlegroups.com
> Subject: Re: [mil-oss] CAC enabled git
>
> Can we send you a 101ft pole? What are the key reasons pushing back to not use git?
>
> On Tuesday, May 22, 2012 6:15:00 AM UTC-7, Congdon, Benjamin E CIV DISA CTO wrote:
>
> While I'm not allowed to mess with our touch git with a 100ft. pole (per Agency policy :( ), I hear the common consensus is to use Apache httpd to front git. You can then set up Apache to do all the pki authentication work. I don't know how to get that working with the git client though, maybe the apache method only give you repo viewing through https? Or maybe the git client works fine that way?
>
> On a side note, git is in the roadmap for software.forge.mil, or that is what the git forge.mil change request tracker comments say.
>
> -ben
>
>
> -----Original Message-----
> From: mil...@googlegroups.com [mailto:mil...@googlegroups.com <mailto:mil...@googlegroups.com> ] On Behalf Of David Dyess
> Sent: Tuesday, May 22, 2012 6:47 AM
> To: mil...@googlegroups.com
> Subject: Re: [mil-oss] CAC enabled git
>
> Haha, same here!
>
>
> On Tue, May 22, 2012 at 5:07 AM, Josh Doe <j <mailto:jo...@joshdoe.com> > wrote:
>
>
> On Mon, May 21, 2012 at 11:21 PM, caneridge <> wrote:
>> Has anyone made any progress setting up CAC enabled git?
>
>
> Not that I know of, but I'm certainly interested in seeing progress on
> this I've been lazy and haven't put our stuff up on
> Software.Forge.mil yet because everything I have is in git and I don't
> want to be bothered to downgrade to SVN.
> -Josh
>
>
> --
> You received this message because you are subscribed to the "Military Open Source Software" Google Group.
> To post to this group, send email to mil...@googlegroups.com
> To unsubscribe from this group, send email to mil-oss+u...@googlegroups.com <mailto:mil-oss%2Bunsu...@googlegroups.com> <mailto:mil-oss%2Bunsu...@googlegroups.com <mailto:mil-oss%252Buns...@googlegroups.com> >
> For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en <http://groups.google.com/group/mil-oss?hl=en>
>
> www.mil-oss.org
>
>
>
> --
> You received this message because you are subscribed to the "Military Open Source Software" Google Group.
> To post to this group, send email to mil...@googlegroups.com
> To unsubscribe from this group, send email to mil-oss+u...@googlegroups.com <mailto:mil-oss%2Bunsu...@googlegroups.com>
> For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en <http://groups.google.com/group/mil-oss?hl=en>
>
> www.mil-oss.org
>
>
>
> --
> You received this message because you are subscribed to the "Military Open Source Software" Google Group.
> To post to this group, send email to mil...@googlegroups.com
> To unsubscribe from this group, send email to mil-oss+u...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en
>
--
--
You received this message because you are subscribed to the "Military Open Source Software" Google Group.
To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en
www.mil-oss.org
---
You received this message because you are subscribed to the Google Groups "Military Open Source Software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mil-oss+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
> I got it working under Cygwin. The process was very tedious and error-prone, so I encapsulated it in the following Bash script, maintained in Github:
That is very awesome!
This sort of capability should be enable-able by some run-time option using the native/standard builds. What would it take to get there?
--- David A. Wheeler
--- David A. Wheeler
I have a copy og github enterprise, i should test it on that.
Matthew M. Conley
912-398-6704
--
--
You received this message because you are subscribed to the "Military Open Source Software" Google Group.
To post to this group, send email to mil...@googlegroups.com
To unsubscribe from this group, send email to mil-oss+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mil-oss?hl=en
www.mil-oss.org
---
You received this message because you are subscribed to the Google Groups "Military Open Source Software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mil-oss+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I have a copy og github enterprise, i should test it on that.
Jamie,
The recompiles are still necessary; the purpose of the script is to automate the whole process...
Thanks, Brett S.
You received this message because you are subscribed to a topic in the Google Groups "Military Open Source Software" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mil-oss/cROdK-Tq5sw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mil-oss+u...@googlegroups.com.
Jamie,
You can get the latest script on github:
https://github.com/bpstahlman/cac-enabled-git-setup
There's a readme there. Also, the script itself has a --help option that provides a lot of information.
Thanks, Brett S.
Is anyone working to upstream the patches to curl & git patches so that they *natively* support CACs (and PIVs and other such identity systems)?
Who? Is there a blocker?
For context, I’m including older mails below.
--- David A. Wheeler
From: mil...@googlegroups.com [mailto:mil...@googlegroups.com] On Behalf Of Brett Stahlman
Sent: Wednesday, June 24, 2015 6:02 PM
To: mil...@googlegroups.com