मैं कमांड लाइन से एक चाबी का गुच्छा में एक प्रमाण पत्र की समाप्ति तिथि कैसे प्राप्त कर सकता हूं?


3

मैं कमांड लाइन से एक प्रमाण पत्र की समाप्ति तिथि प्राप्त करने का तरीका ढूंढ रहा हूं। प्रमाणपत्र डिफ़ॉल्ट 'लॉगिन' किचेन में है और मुझे इसका नाम पता है। मैं यह कैसे कर सकता हूँ?


किस लिए? ज्यादातर मामलों में, ऐसा लगता है security verify-cert, संभवतः -dध्वज के साथ काम करेगा।
JMY1000

मैं जानना चाहता हूं कि किसी प्रमाणपत्र की अवधि समाप्त होने से पहले कितना समय है।
ग्यूजमिक्स

सिर्फ इसलिए कि? क्या यह किसी प्रकार या कुछ के आवेदन में जा रहा है?
JMY1000

हां, अलग-अलग समान प्रमाणपत्रों के बीच चयन करना और सबसे लंबे समय तक समाप्त होने वाली एक का उपयोग करके हस्ताक्षर करना।
ग्यूजमिक्स

पकड़ लिया। आप ऐप के लिए किस भाषा का उपयोग कर रहे हैं?
JMY1000

जवाबों:


3

GuyGizmo का जवाब MacOS 10.14.4 पर Xcode 10.1 टूल के साथ काम नहीं करता है। मैंने कुछ कोशिशों के बाद इस तरह से एक साथ खींच लिया।

जब से मैं यह जानने की कोशिश कर रहा था कि मेरे डेवलपर कोड पर हस्ताक्षर करने का प्रमाणपत्र कमांड लाइन से कब समाप्त होता है, तो मैं आसानी से उन ऐप्स को देख सकता हूं जिन्हें मैंने साइन किया था:

codesign --display --verbose --extract-certificates /path/to/dir.app

यह आपको ऐप के बारे में एक निश्चित राशि बताता है, और codesign0डीईआर प्रारूप में वर्तमान निर्देशिका नामक फ़ाइल में एम्बेडेड हस्ताक्षर प्रमाण पत्र (इसकी निजी कुंजी के बिना, इसलिए पासवर्ड की कोई आवश्यकता नहीं है) निकालता है । ट्रस्ट की श्रंखला में अन्य प्रमाण पत्र उतने ही निकाले जाते हैं codesign1, codesign2जितने की जरूरत हो। आपके द्वारा उनके साथ काम पूरा करने के बाद उन्हें हटाना संभव है।

फिर आप समाप्ति तिथि प्राप्त करने के लिए ओपनएसएसएल कमांड लाइन टूल का उपयोग कर सकते हैं:

openssl x509 -inform der -in codesign0 -enddate -noout

जो परिणाम की तरह प्रिंट करता है:

notAfter=June 8 10:37:33 2020 GMT

codesign0फ़ाइल से समान जानकारी प्राप्त करने का एक और तरीका , एक प्रारूप में जो प्रोग्रामिंग भाषा के साथ पार्स करना आसान हो सकता है, वह है:

openssl asn1parse -in codesign0 -inform der | grep UTCTIME

यह आपको ASN.1 UTC समय प्रारूप में शुरुआत और समाप्ति की तारीख दिखाएगा , जो आमतौर YYMMDDhhmmssZपर एक Apple कोड हस्ताक्षर प्रमाण पत्र में होता है। हां, दो अंकों वाले वर्ष का अर्थ है ASN.1 UTC का समय हर शताब्दी के आसपास होता है।


0

निम्न आदेश काम करता है:

security find-certificate -c "certificate name here" -p | openssl x509 -text | grep "Not After"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.