Sorry I posted the wrong CSR. In the CSR I had attached, I had added in the SAN information. Below is the CSR I was testing with that through the error.
1) CSR is generated
2) CSR submited to subordinate enterprise CA
3) Use Set-CertificateExtension to add SAN names to request
4) Approve request
5) Send certificate to end user
I have run certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2 on my subordinate CA and restarted services.
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIFJjCCBA4CAQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5KMREwDwYDVQQH
DAhTb21lcnNldDEPMA0GA1UECgwGU0hJTGFiMRYwFAYDVQQDDA10cy5zaGlsYWIu
Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6xI7Et+KD/v/5vfm
mqm00NXPT2Mt/Aruku+L4AxLd8wRpz01YoS8um7Cq+KTxKE1hciX1llpMZz5rHgP
DWrFS4NW+ZiNG9gyciYtZ3K6Ep3mCg26CygtwMPZ46eyn8OCTnooW9bkRMSrpDLb
pWHoeZSh3JDOVwKS2DQdFrCz+eQKVOWWnOpaFzfTMDuX2f0S5yN8BpDI8CqtRRwg
5TyOrpETDZCj3q5EXlqltjuFxYht59Y/b4KDbmRspUNFd4dY7xJRoIFhKRNHGc18
xSQbLtZt2FXDL5PHLLnJB2RbDtIl1osGiQMxkPsbtfCNovkiAZ3/QqtcDZA7/xhG
MmLrBQIDAQABoIICiTAaBgorBgEEAYI3DQIDMQwWCjYuMi45MjAwLjIwRgYJKwYB
BAGCNxUUMTkwNwIBCQwYc2hpbGFicmRwZ3cuc2hpbGFiLmxvY2FsDA9TSElMQUJc
ZG1hcnF1ZXMMB2NlcnRyZXEwcgYKKwYBBAGCNw0CAjFkMGICAQEeWgBNAGkAYwBy
AG8AcwBvAGYAdAAgAFIAUwBBACAAUwBDAGgAYQBuAG4AZQBsACAAQwByAHkAcAB0
AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgMBADB0BgorBgEEAYI3
DQIBMWYwZB4mAEMAZQByAHQAaQBmAGkAYwBhAHQAZQBUAGUAbQBwAGwAYQB0AGUe
OgBTAEgASQBMAGEAYgBTAGEAbgBXAGUAYgBTAGUAcgB2AGUAcgBDAGUAcgB0AGkA
ZgBpAGMAYQB0AGUwggE3BgkqhkiG9w0BCQ4xggEoMIIBJDA9BgkrBgEEAYI3FQcE
MDAuBiYrBgEEAYI3FQiBrMMwhJjnQIfllRDzyB+Ds94egQGG8/hehfeCMgIBZAIB
DDAbBgkrBgEEAYI3FQoEDjAMMAoGCCsGAQUFBwMBMA4GA1UdDwEB/wQEAwIFoDAd
BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIweAYJKoZIhvcNAQkPBGswaTAO
BggqhkiG9w0DAgICAIAwDgYIKoZIhvcNAwQCAgCAMAsGCWCGSAFlAwQBKjALBglg
hkgBZQMEAS0wCwYJYIZIAWUDBAECMAsGCWCGSAFlAwQBBTAHBgUrDgMCBzAKBggq
hkiG9w0DBzAdBgNVHQ4EFgQUhcII8/0JOtMkgw9RgkKfNYGL/q8wDQYJKoZIhvcN
AQEFBQADggEBAB9qQdIRVUdfrnB2Y4+XhjIaPTyPWkp9kBqWJ83wAX4XKq9Q3Zyh
W1X/hmFiiR6NxxdaCMYQoWm/XcUHecrcQAZKg4XTnXd9ns+KcM8+K1Z/ep5FJrmn
8QzPPLdrRGFjUY51GgHNiaPf+EA22xWzz7IdmGcRkDeK8XpGr56MKgitmwx1isgA
fVJVP6MR8I1r/Ug+jfDK01ixi/5bHzSnVj98jwHZPCQ4FTYMSOrUmwfZfKGI2ZAg
eshrlnP1Lvqh3fmBiypSoLR5xDPGWSWZo4rVewwQXszaH6Ww51n8xDPgktnhHxIW
MWFp3rg8F76cTd+eeUfXtXwRkJGZ+7uZO6Y=
-----END NEW CERTIFICATE REQUEST-----
In this CSR there is no SAN information, only the subject of ts.shilab.com. I would like to add SAN names to the request. Below is the error I was gettingException calling "DecodeDerString" with "1" argument(s): "Index was outside the bounds of the array."
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\pspki\Server\Set-CertificateExtension.ps1:35 char:6
+ $derValue = [PKI.ASN.ASN1]::DecodeDerString($ext.RawData)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : IndexOutOfRangeException
Exception calling "SetCertificateExtension" with "6" argument(s): "CCertAdmin::SetCertificateExtension: The data is invalid.
0x8007000d (WIN32: 13 ERROR_INVALID_DATA)"
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\pspki\Server\Set-CertificateExtension.ps1:37 char:7
+ $CertAdmin.SetCertificateExtension($Req.ConfigString,$Req.RequestID,$ext.O ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
The process I'm following is:1) CSR is generated
2) CSR submited to subordinate enterprise CA
3) Use Set-CertificateExtension to add SAN names to request
4) Approve request
5) Send certificate to end user
I have run certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2 on my subordinate CA and restarted services.