Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerShell) SII POST boleta.electronica.tokenObtener un token de at autenticación para el envío y consultas automatizadas de boletas electrónicas. For more information, see https://www4c.sii.cl/bolcoreinternetui/api/
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. # Create the XML to be signed... # The following XML is created: # # <?xml version="1.0" encoding="UTF-8"?> # <getToken><item><Semilla>030530912644</Semilla></item></getToken> # $xmlToSign = New-Object Chilkat.Xml $xmlToSign.Tag = "getToken" $xmlToSign.UpdateChildContent("item|Semilla","030530912644") # Sign the XML. # # We wish to create the following signed XML: # <?xml version="1.0" encoding="UTF-8"?> # <getToken> # <item> # <Semilla>030530912644</Semilla> # </item> # <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> # <SignedInfo> # <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"> # </CanonicalizationMethod> # <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"> # </SignatureMethod> # <Reference URI=""> # <Transforms> # <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"> # </Transform> # </Transforms> # <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"> # </DigestMethod> # <DigestValue>l2s9BqLppHaWo+w1Al1J5SsYScs=</DigestValue> # </Reference> # </SignedInfo> # <SignatureValue>jlbzatIIBLW8AjH++5uVTTrGIMVwGButuoAR88y/hvSc1+6/eW1K864fK3cKi76oArqk7lAM4pP okoXme0JT/hRXXGo6ecuKzO18z2WfPWwgnN0f3ac03TDu7PwfqiDG9mhQpYfIkNp6GNJIiqlg9PG2w1fOJ1QoypsrQmKq6 YU=</SignatureValue> # <KeyInfo> # <KeyValue> # <RSAKeyValue> # <Modulus>2Pb4kEB19m7NmOUYew9f36325yrTLTPMU7qzYG2A0/BsubxDdgQw2Op0x6zXvOVX sYI9KkPXtD5orKJMjwxYRv9wUWdyiE776Rv4ljfJO7EQhIK1fDQDnPt0HefBS06Xzg2QLBvLR+pe1vc6C02Dr99v+lnLA8 mnZiJlRHndhNU=</Modulus> # <Exponent>AQAB</Exponent> # </RSAKeyValue> # </KeyValue> # <X509Data> # <X509Certificate>MIIF1DCCBLygAwIBAgIDAQNtMA0GCSqGSIb3DQEBBQUAMIHGMQswCQYDVQQG # EwJDTDEYMBYGA1UEChMPQWNlcHRhLmNvbSBTLkEuMTgwNgYDVQQLEy9BdXRv # cmlkYWQgY2VydGlmaWNhZG9yYSBDbGFzZSAzIHBlcnNvbmEgbmF0dXJhbDFD # MEEGA1UEAxM6QWNlcHRhLmNvbSBBdXRvcmlkYWQgY2VydGlmaWNhZG9yYSBD # bGFzZSAzIHBlcnNvbmEgbmF0dXJhbDEeMBwGCSqGSIb3DQEJARYPaW5mb0Bh # Y2VwdGEuY29tMB4XDTAxMDkyNTIxMDgxMloXDTAyMDkyNTIxMDgxMlowgZ8x # CzAJBgNVBAYTAkNMMRgwFgYDVQQKEw9BY2VwdGEuY29tIFMuQS4xLDAqBgNV # BAsTI0NlcnRpZmljYWRvIENsYXNlIDMgUGVyc29uYSBOYXR1cmFsMRwwGgYJ # KoZIhvcNAQkBFg1uY2hlbGVAc2lpLmNsMSowKAYDVQQDEyFOSUNPTEFTIFpB # UFJJQU4gQ0hFTEVCSUZTS0kgQkFFWkEwgZ8wDQYJKoZIhvcNAQEBBQADgY0A # MIGJAoGBANj2+JBAdfZuzZjlGHsPX9+t9ucq0y0zzFO6s2BtgNPwbLm8Q3YE # MNjqdMes17zlV7GCPSpD17Q+aKyiTI8MWEb/cFFncohO++kb+JY3yTuxEISC # tXw0A5z7dB3nwUtOl84NkCwby0fqXtb3OgtNg6/fb/pZywPJp2YiZUR53YTV # AgMBAAGjggJyMIICbjAdBggrBgEEAbVrDwQRFg9BY2VwdGEuY29tIFMuQS4w # JQYDVR0RBB4wHKAaBggrBgEEAcEBAaAOFgwxMC40MTEuODcxLTIwDwYIKwYB # Jh0z1DR3Pl3xOiaFIjSXsQO2PSzcA3wZXYF+KDrMul8e5lAF2NNiLmMVtXEx # ZykMaTGGWS0ZETDhJmBwEZGpP4+lt/JhgwF1Sb6wdrXp7MFCJUc1Tj+/5JqH # 1kP0E63/hVElrcP0g8Zn8Z+vr/PMGW1kKgE0IyS4iJ8eIhNSK5phFyKJUn0l # BmIZX7u89d5u7X8= # </X509Certificate> # </X509Data> # </KeyInfo> # </Signature> # </getToken> $gen = New-Object Chilkat.XmlDSigGen $gen.SigLocation = "getToken" $gen.SigLocationMod = 0 $gen.SigNamespacePrefix = "" $gen.SigNamespaceUri = "http://www.w3.org/2000/09/xmldsig#" $gen.SignedInfoCanonAlg = "C14N" $gen.SignedInfoDigestMethod = "sha1" # -------- Reference 1 -------- $gen.AddSameDocRef("","sha1","","","") # Provide a certificate + private key. (PFX password is test123) $cert = New-Object Chilkat.Cert $success = $cert.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123") if ($success -ne $true) { $($cert.LastErrorText) exit } $gen.SetX509Cert($cert,$true) $gen.KeyInfoType = "X509Data+KeyValue" $gen.X509Type = "Certificate" # Load XML to be signed... $sbXml = New-Object Chilkat.StringBuilder $xmlToSign.GetXmlSb($sbXml) $gen.Behaviors = "IndentedSignature" # Sign the XML... $success = $gen.CreateXmlDSigSb($sbXml) if ($success -ne $true) { $($gen.LastErrorText) exit } $($sbXml.GetAsString()) # Send the POST with signed XML in the request body $http = New-Object Chilkat.Http $http.SetRequestHeader("accept","application/xml") # Use one of the following domains, depending on the environment: # apicert.sii.cl - Certification Environment # api.sii.cl - Production Environment $url = "https://apicert.sii.cl/recursos/v1/boleta.electronica.token" $resp = $http.PostXml($url,$sbXml.GetAsString(),"utf-8") if ($http.LastMethodSuccess -ne $true) { $($http.LastErrorText) exit } # Examine the response status code: $("response status code = " + $resp.StatusCode) # Examine the response body: $("response body: " + $resp.BodyStr) # We expect a response like this: # <?xml version="1.0" encoding="UTF-8"?> # <SII:RESPUESTA xmlns:SII="http://www.sii.cl/XMLSchema"> # <SII:RESP_HDR> # <ESTADO>00</ESTADO> # <GLOSA>Token Creado</GLOSA> # </SII:RESP_HDR> # <SII:RESP_BODY> # <TOKEN>XAuSbYXiNh9Ik</TOKEN> # </SII:RESP_BODY> # </SII:RESPUESTA> # Parse the XML response. $xml = New-Object Chilkat.Xml $xml.LoadXml($resp.BodyStr) $ESTADO = $xml.GetChildIntValue("SII:RESP_HDR|ESTADO") $GLOSA = $xml.GetChildContent("SII:RESP_HDR|GLOSA") $TOKEN = $xml.GetChildContent("SII:RESP_BODY|TOKEN") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.