मैं एक विश्वसनीय API के साथ खेल रहा हूं और फ़ायरफ़ॉक्स रीस्ट क्लाइंट प्लगइन का उपयोग कर रहा हूं सब ठीक है। मैं आसानी से एपीआई पूछताछ कर सकते हैं।पावरहेल Invoke- स्व-हस्ताक्षरित प्रमाणपत्र और मूल प्रमाणीकरण का उपयोग कर RestMethod - कोई उदाहरण?
हालांकि, जब मैं एक ही एपीआई कॉल को पावरहेल में प्लग करने का प्रयास करता हूं तो यह काम नहीं करता है!
मैं विभिन्न अन्य पदों से निम्नलिखित कोड है जो बाहर प्रमाणपत्र मुद्दों पर राज करना चाहिए, लेकिन मैं अभी भी इस काम करने के लिए नहीं मिल सकता है की कोशिश की है:
# This nugget should help me to get around any self-signed certificate issues I believe
$netAssembly =[Reflection.Assembly]::GetAssembly([System.Net.Configuration.SettingsSection])
if($netAssembly)
{
$bindingFlags = [Reflection.BindingFlags] "Static,GetProperty,NonPublic"
$settingsType = $netAssembly.GetType("System.Net.Configuration.SettingsSectionInternal")
$instance = $settingsType.InvokeMember("Section", $bindingFlags, $null, $null, @())
if($instance)
{
$bindingFlags = "NonPublic","Instance"
$useUnsafeHeaderParsingField = $settingsType.GetField("useUnsafeHeaderParsing", $bindingFlags)
if($useUnsafeHeaderParsingField)
{
$useUnsafeHeaderParsingField.SetValue($instance, $true)
}
}
}
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$headers = @{"AUTHORIZATION"="Basic YWRtaW46Y2xvdWQ="}
# I exported this certificate from the web browser
$cert=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("HPCSA.crt")
Invoke-RestMethod -Uri https://192.168.5.3:8444/csa/rest/login/CSA-Provider/admin -Certificate $cert -Headers $headers -Method Get`
मैं इस का उपयोग कर Powershell वी 3 के आह्वान को दोहराने के लिए सक्षम नहीं कर रहा हूँ -RestMethod और सोच रहा था कि कोई एचटीटीपीएस आराम से एपीआई एक्सेस करने के लिए नमूना कोड साझा कर सकता है जिसमें स्वयं हस्ताक्षरित प्रमाणपत्र है और मूल प्रमाणीकरण का भी उपयोग किया जाता है।
त्रुटि संदेश मैं:
PS C:\Users\landg> C:\Users\landg\Documents\Scripts\CSA API\CSA_API_DEMO_take2.ps1
Invoke-RestMethod : Unable to connect to the remote server
At C:\Users\landg\Documents\Scripts\CSA API\CSA_API_DEMO_take2.ps1:31 char:1
+ Invoke-RestMethod -Uri https://192.168.5.3:8444/csa/rest/login/CSA-Provider/admi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
बस एक अन्य उपयोगकर्ताओं के लिए ध्यान दें, ध्यान रखें कि यह IDontCarePolicy सभी को प्रभावित करता हो अपने पावरशेल सत्र से नेटवर्क यातायात, इसलिए एक बार जब आप प्रमाणपत्र नीति को उस पर सेट करते हैं, तो ** ** आप कुछ भी नहीं करते हैं, तब से आप एसएसएल कर्ट की वैधता की जांच करेंगे। – Jaykul