猿问

Constant 块中的原始字符串文字

我正在测试x509 证书验证示例,这(来自示例)有效:

const rootPEM = `

-----BEGIN CERTIFICATE-----

MIIEBDCCAuygAwIBAgIDAjppMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT

. . .

yuGnBXj8ytqU0CwIPX4WecigUCAkVDNx

-----END CERTIFICATE-----`


const certPEM = `

-----BEGIN CERTIFICATE-----

MIIDujCCAqKgAwIBAgIIE31FZVaPXTUwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UE

. . .

yE+vPxsiUkvQHdO2fojCkY8jg70jxM+gu59tPDNbw3Uh/2Ij310FgTHsnGQMyA==

-----END CERTIFICATE-----`

但这不会:


const (

    rootPEM = `

    -----BEGIN CERTIFICATE-----

    MIIEBDCCAuygAwIBAgIDAjppMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT

    . . .

    yuGnBXj8ytqU0CwIPX4WecigUCAkVDNx

    -----END CERTIFICATE-----`


    certPEM = `

    -----BEGIN CERTIFICATE-----

    MIIDujCCAqKgAwIBAgIIE31FZVaPXTUwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UE

    . . .

    yE+vPxsiUkvQHdO2fojCkY8jg70jxM+gu59tPDNbw3Uh/2Ij310FgTHsnGQMyA==

    -----END CERTIFICATE-----`

)

使用常量块/组时有什么变化?(就这个例子而言,它在panic: failed to parse root certificate使用常量块时失败了)


斯蒂芬大帝
浏览 127回答 1
1回答

MMMHUHU

“没有”变化,除了你的分组变体是缩进的,所以这意味着原始字符串文字的所有行都以制表符或空格开头,证书解析器可能会冒犯这些。像这样尝试:const (    rootPEM = `-----BEGIN CERTIFICATE-----MIIEBDCCAuygAwIBAgIDAjppMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT. . .yuGnBXj8ytqU0CwIPX4WecigUCAkVDNx-----END CERTIFICATE-----`    certPEM = `-----BEGIN CERTIFICATE-----MIIDujCCAqKgAwIBAgIIE31FZVaPXTUwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UE. . .yE+vPxsiUkvQHdO2fojCkY8jg70jxM+gu59tPDNbw3Uh/2Ij310FgTHsnGQMyA==-----END CERTIFICATE-----`)(注意:多行原始字符串文字没有缩进。)
随时随地看视频慕课网APP

相关分类

Go
我要回答