
फ़ाइलों पर हस्ताक्षर करने और डिजिटल हस्ताक्षर सत्यापित करने के लिए एक बेहद सरल उपकरण।
फ़ाइलों पर हस्ताक्षर करने और हस्ताक्षर सत्यापित करने के लिए एक बेहद सरल उपकरण।
Minisign फ़ाइलों पर हस्ताक्षर करने और हस्ताक्षर सत्यापित करने का एक उपकरण है। इसे निम्न के लिए डिज़ाइन किया गया है:
Minisign छोटे और तेज़ हस्ताक्षरों के साथ Ed25519 पब्लिक-कुंजी हस्ताक्षर प्रणाली का उपयोग करता है।
व्यापक दस्तावेज़ीकरण के लिए, कृपया Minisign दस्तावेज़ीकरण वेबसाइट या शामिल man पेज देखें।
Minisign विभिन्न पैकेज प्रबंधकों में उपलब्ध है:
| प्लेटफ़ॉर्म | कमांड |
|---|---|
| macOS (Homebrew) | brew install minisign |
| Windows (Scoop) | scoop install minisign |
| Windows (Chocolatey) | choco install minisign |
निर्भरताएँ:
संकलन विकल्प:
zig build -Doptimize=ReleaseSmall
zig build -Doptimize=ReleaseSmall -Dstatic
zig build -Doptimize=ReleaseSmall -Dwithout-libsodium
परिणामी बाइनरी zig-out/bin/minisign में मिल सकती है।
तेज़ निष्पादन के लिए, बड़े बाइनरी आकार की कीमत पर, आप उपरोक्त किसी भी कमांड में ReleaseSmall को ReleaseFast से बदल सकते हैं।
निर्भरताएँ:
संकलन:
mkdir build
cd build
cmake ..
make
make install # with appropriate permissions
स्टैटिक बाइनरी के लिए वैकल्पिक कॉन्फ़िगरेशन:
cmake -D STATIC_LIBSODIUM=1 ..
या:
cmake -D BUILD_STATIC_EXECUTABLES=1 ..
minisign -G
यह निम्न बनाता है:
minisign.pub डिफ़ॉल्ट रूप से)minisign.key डिफ़ॉल्ट रूप से)minisign -S -m file.txt
यह file.txt.minisig नाम की एक हस्ताक्षर फ़ाइल बनाता है।
एक विश्वसनीय टिप्पणी जोड़ने के लिए जिसे सत्यापित किया जाएगा:
minisign -S -m file.txt -t "Trusted comment here"
minisign -Vm file.txt -p minisign.pub
या सीधे पब्लिक कुंजी के साथ:
minisign -Vm file.txt -P RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
प्रोजेक्ट के टारबॉल और प्रीकंपाइल्ड बाइनरी को निम्न पब्लिक कुंजी से सत्यापित किया जा सकता है:
RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
Minisign एक Docker इमेज के रूप में उपलब्ध है:
docker run -i --rm jedisct1/minisign
पहली बार कुंजी बनाने और फिर किसी स्थानीय फ़ाइल पर हस्ताक्षर करने का उदाहरण:
docker run -i --rm -v .:/minisign jedisct1/minisign \
-s minisign.key -G
docker run -i --rm -v .:/minisign jedisct1/minisign \
-s minisign.key -S -m files_to_sign
-s minisign.key गुप्त कुंजी बनाता है और उपयोग करता है; पब्लिक कुंजी का नाम minisign.pub होगा।
महत्वपूर्ण: एक बैकअप बनाएं और अपनी जनरेट की गई निजी कुंजी फ़ाइल minisign.key को कमिट या साझा न करें।
Docker इमेज का उपयोग करके हस्ताक्षर सत्यापित करने का उदाहरण:
docker run -i --rm -v .:/minisign jedisct1/minisign \
-Vm file_to_verify -p minisign.pub
-p minisign.pub को हटाया जा सकता है यदि डिफ़ॉल्ट नाम जनरेट हो गया हो।
इमेज को निम्न cosign पब्लिक कुंजी से सत्यापित किया जा सकता है:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExjZWrlc6c58W7ZzmQnx6mugty99C
OQTDtJeciX9LF9hEbs1J1fzZHRdRhV4OTqcq0jTW9PXnrSSZlk1fbkE/5w==
-----END PUBLIC KEY-----
Minisign, signify के साथ संगत है, जो OpenBSD का हस्ताक्षर उपकरण है। signify के साथ बनाए गए हस्ताक्षरों को minisign के साथ सत्यापित किया जा सकता है, और इसके विपरीत भी।
यह कार्यान्वयन नियतिवादी (deterministic) हस्ताक्षरों का उपयोग करता है, जब तक कि libsodium को ED25519_NONDETERMINISTIC मैक्रो परिभाषित के साथ संकलित नहीं किया गया हो। यह EdDSA nonce की गणना में यादृच्छिक शोर जोड़ता है।
अन्य कार्यान्वयन डिफ़ॉल्ट रूप से गैर-नियतिवादी हस्ताक्षरों का उपयोग करना चुन सकते हैं। वे नियतिवादी हस्ताक्षरों का उपयोग करने वाले कार्यान्वयनों के साथ पूरी तरह से इंटरऑपरेबल रहेंगे।
minizign अब अनुशंसित कार्यान्वयन है। यहीं पर नई सुविधाओं को लागू किया जाएगा।
अन्य उपकरण और लाइब्रेरी: