با توجه به این موضوع:
ایجاد گواهی بدون کلید خصوصی با OpenSSL
وضعیت بسیار شبیه من است. من یک USB eToken 5110 JC (Aladdin) داریم که دارای خصوصی شخصی غیر قابل قبول است، زیرا هدف اصلی آن است. بنابراین، من می توانم از pkcs11-tool استفاده کنم – module /lib/libeToken.so.9 -l –pin -s -i و کار می کند. libeToken.so.9 توسط SAC 9.1 (Safenet Authentication Tool) ارائه می شود. تا کنون خیلی خوب است
مشکل من این است: من نیاز به تولید گواهینامه ها و امضای آنها با این eToken دارم. من سعی کردم از موتور pkcs11 با openssl استفاده کنم، بدون موفقیت. ممکن است به علت اشتباه (من سعی کردم https://github.com/OpenSC/libp11 چگونه، اما من اشتباهات زیادی داشته ام، و من رها کردن)
من سعی کردم به استفاده از gpg اما من اشتباهات در حالی که یادگیری کارت .
بنابراین من این موضوع جالب را رسیده ام. از آنجا که من می توانم به راحتی گواهی و کلید عمومی را از usb Token صادر کنم، نوک والنتین بوسی به نظر می رسد خوب است، زیرا می توانم openssl x509 -force_pubkey اجرا کنم. آیا تا به حال صحیح است؟
بنابراین، مشکلی برای انجام این کار چیست؟ من می دانم که امضای فرآیند ایجاد یک هش از برخی داده ها و رمزگذاری با یک کلید خصوصی است. هنگامی که برخی از داده ها به شخصی که با امضای آن ارسال می شود، گیرنده بررسی خواهد کرد که الگوریتم هش کردن چیست، سپس یک هش از داده ها با یک الگوریتم مشابه تولید می کند و در مقایسه با داده های هش رمزگشایی شده با کلید عمومی فرستنده، درست است؟
بنابراین هنگام تولید یک گواهی بدون توجه به اینکه آیا داده از CSR یا stdin ساخته شده است، امضای ساخته شده از طریق کلید عمومی تأیید نشانه دیجیتال را تأیید نخواهد کرد، زیرا هر کسی می تواند این کلید عمومی را دریافت کند و از طرف صاحب eToken تولید گواهی کند. 19659002] بنابراین، چه چیزی در حال حاضر؟ چه چیزی اشتباه می گویم؟
آخرین سوال، داده های رمز شده با کلید خصوصی را می توان با کلید عمومی آن لغو کرد و بالعکس. اما من نمی دانستم که با استفاده از همان کلید (از آنجا که کلیدهای assymetric هستند) امکان رمزگذاری و رمزگشایی وجود دارد