โครงการโอเพ่นซอร์สนี้ได้รับการสนับสนุนจากชุมชน หากต้องการรายงานปัญหาหรือแบ่งปันแนวคิด ให้ใช้ Issues และหากคุณมีข้อเสนอแนะในการแก้ไขปัญหา โปรดระบุรายละเอียดเหล่านั้นด้วย นอกจากนี้ ให้ใช้ คำขอดึง เพื่อสนับสนุนการแก้ไขข้อบกพร่องจริงหรือการปรับปรุงที่เสนอ เรายินดีต้อนรับและขอขอบคุณทุกการมีส่วนร่วม มีคำถามหรือต้องการหารือบางอย่างกับทีมของเรา? เข้าร่วมกับเราบน Slack !
VCert คือไลบรารี Go, SDK และยูทิลิตีบรรทัดคำสั่งที่ออกแบบมาเพื่อลดความซับซ้อนในการสร้างคีย์และการลงทะเบียนข้อมูลระบุตัวตนของเครื่อง (หรือที่เรียกว่าใบรับรองและคีย์ SSL/TLS) ที่สอดคล้องกับนโยบายความปลอดภัยขององค์กรโดยใช้ Venafi Trust Protection Platform หรือ Venafi Control Plane หรือหิ่งห้อยเวนาฟี
ดู VCert CLI สำหรับ Venafi Trust Protection Platform หรือ VCert CLI สำหรับ Venafi Control Plane หรือ VCert CLI สำหรับ Venafi Firefly เพื่อเริ่มต้นใช้งานยูทิลิตีบรรทัดคำสั่ง
รุ่น VCert ได้รับการทดสอบโดยใช้ Trust Protection Platform เวอร์ชันล่าสุด ฟังก์ชันการทำงานทั่วไปของ VCert รุ่นล่าสุดควรเข้ากันได้กับ Trust Protection Platform 17.3 หรือสูงกว่า ช่องแบบกำหนดเองและการติดตามอินสแตนซ์ต้องใช้ TPP 18.2 หรือสูงกว่า และ Token Authentication ต้องใช้ TPP 20.1 หรือสูงกว่า
กำหนดค่าสภาพแวดล้อม Go ของคุณตาม https://golang.org/doc/install
ตรวจสอบว่าตัวแปรสภาพแวดล้อม GOPATH ได้รับการตั้งค่าอย่างถูกต้อง
ดาวน์โหลดซอร์สโค้ด:
go get github.com/Venafi/vcert/v5หรือก่อนไป 1.13
git clone https://github.com/Venafi/vcert.git $GOPATH /src/github.com/Venafi/vcert/v5 ไป 1.11 โดยเปิดใช้งานโมดูล go หรือไป 1.13 ขึ้นไป ตรวจสอบให้แน่ใจว่าได้โคลนนอก $GOPATH/src
git clone https://github.com/Venafi/vcert.gitสร้างยูทิลิตี้บรรทัดคำสั่งสำหรับ Linux, macOS และ Windows:
make buildสำหรับตัวอย่างโค้ดการใช้งานทางโปรแกรม โปรดตรวจสอบไฟล์ในโฟลเดอร์ตัวอย่าง
main.go ของคุณ ให้ดำเนินการประกาศการนำเข้าต่อไปนี้: import (
"github.com/Venafi/vcert/v5"
"github.com/Venafi/vcert/v5/pkg/certificate"
"github.com/Venafi/vcert/v5/pkg/endpoint"
)&vcert.Config ที่ระบุรายละเอียดการเชื่อมต่อ Venafi โดยทั่วไปโซลูชันได้รับการออกแบบเพื่อรับรายละเอียดเหล่านั้นจากห้องเก็บความลับ ไฟล์ .ini ตัวแปรสภาพแวดล้อม หรือพารามิเตอร์บรรทัดคำสั่งNewClient ของคลาส vcert ด้วยอ็อบเจ็กต์การกำหนดค่า&certificate.RequestGenerateRequest ของไคลเอ็นต์RequestCertificate ของไคลเอ็นต์RetrieveCertificate ของไคลเอ็นต์vcert.Config NewListener พร้อมรายการโดเมนเป็นอาร์กิวเมนต์ ตัวอย่างเช่น ("test.example.com:8443", "example.com")net.Listener เป็นอาร์กิวเมนต์ของ http.Serve ในตัวหรือเซิร์ฟเวอร์ https อื่นๆตัวอย่างอยู่ในสถานะที่คุณสามารถสร้าง/ดำเนินการได้โดยใช้คำสั่งต่อไปนี้ (หลังจากตั้งค่าตัวแปรสภาพแวดล้อมที่จะกล่าวถึงในภายหลัง):
go build -o cli ./example
go test -v ./example -run TestRequestCertificateView , Read , Write , Create , Revoke (สำหรับการดำเนินการเพิกถอน) และ Private Key Read (สำหรับการดำเนินการรับเมื่อมีการสร้างบริการ CSR)ข้อกำหนดสำหรับเทมเพลต CA ที่จะได้รับการกำหนดตามนโยบายเป็นไปตามแนวทางปฏิบัติที่ดีที่สุดของ Venafi ที่มีมายาวนาน ซึ่งตรงตามวัตถุประสงค์การออกแบบของเราเพื่อให้กระบวนการขอใบรับรองง่ายสำหรับผู้ใช้ VCert หากคุณต้องการความสามารถในการระบุเทมเพลต CA พร้อมกับคำขอ คุณสามารถใช้ TPP REST API ได้ แต่โปรดทราบว่าการดำเนินการนี้ขัดแย้งกับคำแนะนำของ Venafi
การทดสอบหน่วย:
make test การทดสอบบูรณาการสำหรับ Trust Protection Platform และ Venafi Control Plane จำเป็นต้องมีการเข้าถึงผลิตภัณฑ์เหล่านั้น ตัวแปรสภาพแวดล้อมใช้เพื่อระบุการตั้งค่าที่จำเป็นรวมถึงข้อมูลรับรอง คีย์ Venafi Control Plane API และส่วนของค่าโซน (เช่น Application Name Issuing Template API Alias ) พร้อมใช้งานแล้วบนเว็บอินเทอร์เฟซ
export TPP_URL=https://tpp.venafi.example/vedsdk
export TPP_USER=tpp-user
export TPP_PASSWORD=tpp-password
export TPP_ZONE= ' somesuggested_policy '
export TPP_ZONE_RESTRICTED= ' somelocked_policy '
export TPP_ZONE_ECDSA= ' someecdsa_policy '
make tpp_test export CLOUD_URL=https://api.venafi.cloud/v1
export CLOUD_APIKEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export CLOUD_ZONE= ' My ApplicationPermissive CIT '
export CLOUD_ZONE_RESTRICTED= ' Your ApplicationRestrictive CIT '
make cloud_testการทดสอบยูทิลิตี้บรรทัดคำสั่งใช้ไฟล์ฟีเจอร์ Cucumber & Aruba
หากต้องการรันการทดสอบคุณสมบัติทั้งหมดพร้อมกัน:
make cucumberหากต้องการรันการทดสอบเฉพาะคุณสมบัติเฉพาะ:
make cucumber FEATURE=./features/basic/version.featureคุณสมบัติที่มีคือ:
basicconfigenrollformatgencsrrenewrevoke เมื่อรัน การทดสอบเหล่านี้จะดำเนินการในคอนเทนเนอร์ Docker ของตนเองโดยใช้ Cucumber เวอร์ชัน Ruby
การทดสอบที่เสร็จสมบูรณ์จะรายงานจำนวนสถานการณ์การทดสอบและขั้นตอนที่ผ่าน ล้มเหลว หรือถูกข้าม
สำหรับคำอธิบายโดยละเอียดเกี่ยวกับ Playbook และวิธีการสร้าง Playbook โปรดตรวจสอบที่นี่: Readme Playbook
Venafi ยินดีรับการสนับสนุนจากชุมชนนักพัฒนา
git clone [email protected]:youracct/vcert.gitgit checkout -b your-branch-namegit commit -am ' Added some cool functionality 'git push origin your-branch-nameลิขสิทธิ์ © Venafi, Inc. สงวนลิขสิทธิ์
VCert ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 ดูใบอนุญาตสำหรับข้อความใบอนุญาตฉบับเต็ม
กรุณาส่งคำถาม/ความคิดเห็นไปที่ [email protected]