Git Kendinden İmzalı Sertifika Yapılandırması
tl; Dr.
ASLA tüm SSL doğrulamasını devre dışı bırakmayın!
Bu kötü bir güvenlik kültürü yaratır. O kişi olma.
Sonra olduğunuz yapılandırma anahtarları:
Bunlar güvendiğiniz ana bilgisayar sertifikalarını yapılandırmak içindir
Bunlar sertifikanızı SSL sorunlarına yanıt verecek şekilde yapılandırmak içindir.
Yukarıdaki ayarları belirli ana bilgisayarlara seçmeli olarak uygulayın.
.gitconfig
Kendinden İmzalı Sertifika Yetkilileri için Global
Kendi ve arkadaşlarımın uğruna, kendinden imzalı sertifikaları devre dışı bırakmadan nasıl çalıştırabildik sslVerify
. Bunu.gitconfig
kullanarak şunu düzenleyin git config --global -e
:
# Specify the scheme and host as a 'context' that only these settings apply
# Must use Git v1.8.5+ for these contexts to work
[credential "https://your.domain.com"]
username = user.name
# Uncomment the credential helper that applies to your platform
# Windows
# helper = manager
# OSX
# helper = osxkeychain
# Linux (in-memory credential helper)
# helper = cache
# Linux (permanent storage credential helper)
# https://askubuntu.com/a/776335/491772
# Specify the scheme and host as a 'context' that only these settings apply
# Must use Git v1.8.5+ for these contexts to work
[http "https://your.domain.com"]
##################################
# Self Signed Server Certificate #
##################################
# MUST be PEM format
# Some situations require both the CAPath AND CAInfo
sslCAInfo = /path/to/selfCA/self-signed-certificate.crt
sslCAPath = /path/to/selfCA/
sslVerify = true
###########################################
# Private Key and Certificate information #
###########################################
# Must be PEM format and include BEGIN CERTIFICATE / END CERTIFICATE,
# not just the BEGIN PRIVATE KEY / END PRIVATE KEY for Git to recognise it.
sslCert = /path/to/privatekey/myprivatecert.pem
# Even if your PEM file is password protected, set this to false.
# Setting this to true always asks for a password even if you don't have one.
# When you do have a password, even with this set to false it will prompt anyhow.
sslCertPasswordProtected = 0
Referanslar:
git clone
-İng yaparken yapılandırmayı belirtin
Repo bazında uygulamanız gerekiyorsa, belgeler size sadece git config --local
repo dizininizde çalışmanızı söyler . Yerel olarak klonlanmış bir kopya bulunmadığı zaman bu işe yaramıyor, değil mi?
Genel global -> local
yapılandırmanızı yukarıdaki gibi ayarlayarak hokey-pokey'i yapabilir ve daha sonra klonladıktan sonra bu ayarları yerel repo yapılandırmanıza kopyalayabilirsiniz ...
VEYA yapabileceğiniz şey , hedef kopyaya klonlandıktan sonra uygulanacak yapılandırma komutlarını belirtmektirgit clone
.
# Declare variables to make clone command less verbose
OUR_CA_PATH=/path/to/selfCA/
OUR_CA_FILE=$OUR_CA_PATH/self-signed-certificate.crt
MY_PEM_FILE=/path/to/privatekey/myprivatecert.pem
SELF_SIGN_CONFIG="-c http.sslCAPath=$OUR_CA_PATH -c http.sslCAInfo=$OUR_CA_FILE -c http.sslVerify=1 -c http.sslCert=$MY_PEM_FILE -c http.sslCertPasswordProtected=0"
# With this environment variable defined it makes subsequent clones easier if you need to pull down multiple repos.
git clone $SELF_SIGN_CONFIG https://mygit.server.com/projects/myproject.git myproject/
Bir Astar
DÜZENLEME: See VonC 'ın cevabı bu bir astara 2.14.x / 2,15 ila belirli git sürümleri için mutlak ve göreli yollar hakkında bir uyarı Puan
git clone -c http.sslCAPath="/path/to/selfCA" -c http.sslCAInfo="/path/to/selfCA/self-signed-certificate.crt" -c http.sslVerify=1 -c http.sslCert="/path/to/privatekey/myprivatecert.pem" -c http.sslCertPasswordProtected=0 https://mygit.server.com/projects/myproject.git myproject/
CentOS unable to load client key
Bunu CentOS'ta deniyorsanız ve .pem
dosyanız size veriyorsa
unable to load client key: "-8178 (SEC_ERROR_BAD_KEY)"
Daha sonra bu StackOverflow'uncurl
Açık SSL yerine NSS'yi nasıl kullanacağına dair bir cevap isteyeceksiniz .
Ve kaynaktan yeniden oluşturmakcurl
istersiniz :
git clone http://github.com/curl/curl.git curl/
cd curl/
# Need these for ./buildconf
yum install autoconf automake libtool m4 nroff perl -y
#Need these for ./configure
yum install openssl-devel openldap-devel libssh2-devel -y
./buildconf
su # Switch to super user to install into /usr/bin/curl
./configure --with-openssl --with-ldap --with-libssh2 --prefix=/usr/
make
make install
libcurl hala paylaşılan bir kütüphane olarak bellekte olduğundan bilgisayarı yeniden başlat
Python, pip ve konda
İlgili : Windows'da pip tarafından kullanılan CA Store'a özel bir CA Kök sertifikası nasıl eklenir?