আমি জাভাতে লাইব্রেরী বাউন্সি ক্যাসল সহ একটি শংসাপত্র X509 তৈরি করি। আমার ব্যক্তিগত কীতে একটি কী অ্যাট্রিবিউট সেট করা দরকার।
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 1024
Bag Attributes
friendlyName: ASDF
localKeyID: XX XX XX XX
Microsoft CSP Name: Microsoft Software Key Storage Provider <--- (1)
Key Attributes: <No Attributes> <--- put HERE X509v3 Key Usage: 80
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----
আমার কী ব্যবহারটি 80 -> X509v3 কী ব্যবহার করতে হবে: 80. কারণ আমি এলিপটিক বক্ররেখা এবং উইন্ডোজ ম্যাকুইনের সাথে কাজ করি যদি সেই বৈশিষ্ট্যগুলি না থাকে তবে পুনরায় রিকনয়েজ করা যায় না।
আমি চেষ্টা করেছিলাম:
X509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder(
issuerDNName,
serial,
startDate,
endDate,
tX500Name,
pubKey);
X509KeyUsage usage = new X509KeyUsage(X509KeyUsage.digitalSignature);
builder.addExtension(Extension.keyUsage, false, usage);
অথবা
builder.addExtension(
new ASN1ObjectIdentifier("2.5.29.15"),
true,
new X509KeyUsage(
X509KeyUsage.digitalSignature));
কেউ কাজ করে না আমি একটি ব্যাগ অ্যাট্রিবিউট (1) সেট করতে পারি তাই:
PKCS12BagAttributeCarrier bagAttr = (PKCS12BagAttributeCarrier)privateKey;//pbeWithSHA1And3-KeyTripleDES-CBC
bagAttr.setBagAttribute(
MicrosoftObjectIdentifiers.microsoft.branch("17").branch("1"),// this OID corresponds to: 1.3.6.1.4.1.311.17.1
new DERBMPString("Microsoft Software Key Storage Provider"));
একটি প্রাইভেটকিআইনফো ক্লাস বিদ্যমান তবে এটি কীভাবে ব্যবহার করব তা আমি জানি না।
আমি যদি ওপেনসেল দিয়ে তৈরি করি তবে আমার পুট- কিসিগ বিকল্পটি দরকার ।
openssl pkcs12 -export -in newcert.pem -inkey newreq.pem -name "MY CERTIFICATE" -certfile demoCA/cacert.pem -out mycert.p12 -keysig
ওপেনএসএসএল ডক্স
-keyex | -keysig নির্দিষ্ট করে ব্যক্তিগত কী কী এক্সচেঞ্জ বা শুধু সাইন ইন করার জন্য ব্যবহার করা যেতে পারে। এই বিকল্পটি কেবল এমএসআইই এবং অনুরূপ এমএস সফ্টওয়্যার দ্বারা ব্যাখ্যা করা হয়েছে। সাধারণত "রফতানি গ্রেড" সফ্টওয়্যারটি কেবল 512 বিট আরএসএ কীগুলি এনক্রিপশন উদ্দেশ্যে ব্যবহৃত হতে পারে তবে স্বাক্ষরের জন্য নির্ধারিত দৈর্ঘ্যের কীগুলিকে অনুমতি দেয়। -Keysig বিকল্পটি কেবল স্বাক্ষর করার জন্য কী চিহ্নিত করে। কেবলমাত্র সাইন ইন কী S / MIME সাইন ইন, অ্যান্টিথোড (অ্যাকটিভএক্স নিয়ন্ত্রণ স্বাক্ষর) এবং এসএসএল ক্লায়েন্ট প্রমাণীকরণের জন্য ব্যবহৃত হতে পারে তবে কেবলমাত্র MSIE 5.0 বাগের কারণে এবং পরে এসএসএল ক্লায়েন্ট প্রমাণীকরণের জন্য কেবল কীগুলিতে স্বাক্ষর করার জন্য সমর্থন করে।
ফলাফল:
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
Bag Attributes
localKeyID: XX XX XX XX
friendlyName: ASDF
Microsoft CSP Name: ECDSA_P256#Microsoft Software key Service Provider
Key Attributes
X509v3 Key Usage: 80 <-- This
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----
ধন্যবাদ!