উইন্ডোজ পিকেআই: আমি কীভাবে বিপুল সংখ্যক সিএসআর আমদানি, স্বাক্ষর / ইস্যু এবং রফতানি করতে পারি?


8

আমার অনেকগুলি সিএসআর রয়েছে যা উইন্ডোতে সাইন / ইস্যু এবং রফতানি করা দরকার। আমি আশা করছিলাম যে আমি তাদের কোনওভাবে ব্যাচ প্রক্রিয়া করতে পারি (সার্টিটিল শব্দগুলি এটি কিছু কাজ করতে পারে বলে মনে হয়) তবে আমি কীভাবে এটি করতে পারব তা আমি নিশ্চিত নই। এটা কি সম্ভব?

কোন সাহায্যের ব্যাপকভাবে প্রশংসা হবে।


আমি মনে করি এটি করার জন্য আপনি পাওয়ারশেল ব্যবহার করতে পারেন (আমি উইন্ডোজটিতে এটি কখনই করি নি)। এখানে বেশ কয়েকটি নিবন্ধ থাকতে হবে: rrustean.blogspot.co.uk/2010/11/… এটি পাওয়ারশেল সম্পর্কে শিখতে হবে এমনকি যদি কিছু ফর্মের মধ্যে এটি স্ক্রিপ্ট করার চেষ্টা করা সার্থক তবে তা মূল্যবান। এটি সবকিছুকে আরও সুনির্দিষ্ট করে তোলে।
ডেভি

উত্তর:



0

আমি বলতে পারি যে হ্যাঁ, এটি সম্ভবপর। তবে এটি একটি ভাল কাজ হতে চলেছে, এবং আমি সন্দেহ করি যে ইন্টারনেটের একটি বিনামূল্যে প্রশ্নোত্তর সাইটে যে কেউ আপনার জন্য এই সমস্ত ফ্রি সাসাদমিন কাজ স্বেচ্ছাসেবক করতে চলেছে ... যে বলেছিল, আমি কমপক্ষে আপনাকে শুরু করতে পারি ।

এটি আক্রমণ করার প্রাথমিক দুটি উপায় রয়েছে। একটি, যেমন আপনি ইতিমধ্যে চিহ্নিত করেছেন, এটি সার্টিটিলের সাথে রয়েছে। আপনি সম্ভবত পাওয়ারুশেল ব্যবহার করবেন certutil.exe এর চারপাশে একটি "র‌্যাপার" লেখার জন্য যা এটির ইনপুটগুলিকে ফিড করে এবং এর ফলাফলগুলি বিশ্লেষণ করে।

দ্বিতীয়ত, শংসাপত্র পরিষেবাদি COM উপাদানগুলি CERTENROLLib, CERTCLIENTLib, ইত্যাদি রয়েছে These এগুলি আপনাকে স্ক্রিপ্ট করার ভয়াবহ প্রচেষ্টা চালিয়ে যেতে ইচ্ছুক না হলে ম্যানুয়াল হিসাবে যে কোনও এবং সমস্ত কাজ স্ক্রিপ্ট করার অনুমতি দেয়।

দেখুন, এই লোকটি সিএসআর তৈরি করতে, শংসাপত্র কর্তৃপক্ষের সিএসআর জমা দিতে, এবং প্রতিক্রিয়া পেতে এবং শংসাপত্রটি ইনস্টল করতে সি # এবং পূর্বোক্ত সিওএম ইন্টারফেস ব্যবহার করছে। সি # সহজেই পাওয়ারশেলের পোর্ট করা হয়।

দ্বিতীয়ত, সার্টিটিল ... আপনি সের্টিটিলের সাহায্যে বেশিরভাগ কাজ করতে পারেন, তবে এটি বস্তু-কেন্দ্রিক নয়, এটি সমস্ত পাঠ্যকে পুরানো-বিশ্ব ইউনিক্স স্টাফের মতো পার্সিং করে। উদাহরণস্বরূপ, আমি আপনার সাথে একটি সংক্ষিপ্ত পাওয়ারশেল স্ক্রিপ্ট শেয়ার করব যা আমি লিখেছিলাম যে শংসাপত্র কর্তৃপক্ষের মুলতুবি শংসাপত্রের অনুরোধের জন্য স্ক্যান করতে সার্টিটিল ব্যবহার করে এবং যদি কোনও মুলতুবি সিএসআর অনুমোদনের প্রয়োজন হয় তবে প্রশাসকদের সতর্ক করে দেয়।

[String]$CAName     = 'SERVER01\MY-ISSUING-CA'
[String]$MailFrom   = 'noreply@mydomain.com'
[String[]]$MailTo   = 'CA-Team@domain.com'
[String]$SMTPServer = 'smtp.domain.com'
$Output = certutil -view -out "Request ID, Request Submission Date, Request Common Name, Requester Name, Request Email Address, Request Distinguished Name" -Restrict "Request Disposition=9"
If ($Output[-1] -NotLike '*successfully.')
{
    Write-Error $Output
    $Body = "<p>An error occurred on $CAName while checking for pending certificate requests.</p><pre>"
    Foreach ($Line In $Output)
    {
        $Body += "$Line" + [Environment]::NewLine
    }
    $Body += "</pre>"
    Send-MailMessage -SmtpServer $SMTPServer -From $MailFrom -To $MailTo -Subject "$CAName Encountered An Error!" -Body $Body -BodyAsHtml
    Return
}

[Int]$NumberOfRequests = 0

If ([Int]::TryParse($Output[-2].Trim().Split(' ')[0], [ref] $NumberOfRequests))
{
    If ($NumberOfRequests -GT 0)
    {
        $Body = "<p>There are pending certificate requests on $CAName.</p><pre>"
        Foreach ($Line In $Output)
        {
            $Body += "$Line" + [Environment]::NewLine
        }
        $Body += "</pre>"
        Send-MailMessage -SmtpServer $SMTPServer -From $MailFrom -To $MailTo -Subject "$CAName Has Pending Requests" -Body $Body -BodyAsHtml
    }
    Else
    {
        Write-Host "No pending certificate requests found."
    }
}
Else
{
    $Body = "<p>An error occurred on $CAName while checking for pending certificate requests.</p><pre>"
    Foreach ($Line In $Output)
    {
        $Body += "$Line" + [Environment]::NewLine
    }
    $Body += "</pre>"
    Send-MailMessage -SmtpServer $SMTPServer -From $MailFrom -To $MailTo -Subject "$CAName Encountered An Error!" -Body $Body -BodyAsHtml
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.