كيف يمكنني تحديد OID صالحة لاستخدامها لتمديد التوقيع الرقمي المتوافق مع X.509؟

StackOverflow https://stackoverflow.com/questions/3689739

  •  02-10-2019
  •  | 
  •  

سؤال

أحتاج إلى OID لاستخدامه لإضافة امتداد مخصص (بالفعل ASN1.Encoded) إلى توقيع رقمي X.509V3/PKCS#7. لا يهمني إذا كان قابلاً للتشغيل البيني ؛ هذا تطبيق خاص خاص (في الواقع ، مشروع بحثي). في الوقت الحالي ، لا أهتم حتى إذا كان ذلك عبارة عن OID قيد الاستخدام في بعض التطبيقات الملكية ، على الرغم من أنني من الواضح أنني لم أستطع استخدام OID لفترة طويلة.

أنا حاليًا أستخدم 1.2.3.4.5 ، وهو في رمز الاختبار لمكتبة التشفير التي أستخدمها (Cryptlib). ومع ذلك ، فإن إنشاء التوقيع يتعطل ولا أعرف ما إذا كان هذا هو السبب. أعلم أن المكتبة ترفض على الأقل بعض OID غير صالحة عند التحقق من المدخلات.

هل كانت مفيدة؟

المحلول

أظن أن المشكلة هي أنك لا تقوم بترميز OID بشكل صحيح الذي تستخدمه ككائن معرف كائن ASN.1. أعرف Cryptlib ولكنني لم أستخدمه ، لذا لا يمكنني التأكد من سبب تعطله ، لكنني أظن أن السبب سيكون ترميزًا غير صالح بدلاً من مجرد اختيار قيمة OID غير لائقة. أشك في أن Cryptlib يعلق أي أهمية لقيمة OID التي تقدمها (ما لم يكن ، ربما ، تزود OID بامتداد الشهادة المعروف مثل "القيود الأساسية" ذات قيمة غير متوقعة).

لاحظت من http://www.imc.org/ietf-pkix/pkix-oid.asn يحدد هذا PKIX نطاق OID للاختبار ، وأتوقع ألا تخلط بين أي شخص إذا كنت تستخدم (AB) استخدام OID في هذا النطاق للاختبار الخاص بك (الداخلي ، غير الرسمي). الاختبارات OIDs هي أي شيء يبدأ بـ 1.3.6.1.5.5.7.13.

أشعر بالقلق قليلاً من حديثك عن "X.509v3/PKCS#7 Digital Signature" ... X.509 و PKCS#7 مختلفة تمامًا. أجمع من حديثك عن "امتداد" مخصص أنه شهادة X.509V3 التي تحاول إنشاؤها ، وليس توقيع PKCS#7 ... هل هذا صحيح؟

نصائح أخرى

يمكنك طلب OID "الرسمي" الخاص هنا وكن آمنًا بشأن الاصطدامات في المستقبل.

بالإضافة إلى الإجابات (الصحيحة) التي أجراها dajames و kenson ، يمكنك أيضًا استخدام أ uuid القائم على OID, ، إذا كنت لا تريد/تحتاج إلى تسجيل أ القلم (على الرغم من أن القلم ربما يكون أفضل على المدى الطويل).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top