Skip to content

Commit d9b8059

Browse files
committed
更新
1 parent 248b811 commit d9b8059

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

pkcs12/p12_encode.go

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,35 @@ func (this *PKCS12) AddSecretKey(secretKey []byte) {
112112

113113
// ===============
114114

115+
func (this *PKCS12) makeFriendlyNameAttr(friendlyName string) (PKCS12Attribute, error) {
116+
bmpFriendlyName, err := bmpString(friendlyName)
117+
if err != nil {
118+
return PKCS12Attribute{}, err
119+
}
120+
121+
encodedFriendlyName, err := asn1.Marshal(asn1.RawValue{
122+
Class: 0,
123+
Tag: 30,
124+
IsCompound: false,
125+
Bytes: bmpFriendlyName,
126+
})
127+
if err != nil {
128+
return PKCS12Attribute{}, err
129+
}
130+
131+
friendlyNameAttr := PKCS12Attribute{
132+
Id: oidFriendlyName,
133+
Value: asn1.RawValue{
134+
Class: 0,
135+
Tag: 17,
136+
IsCompound: true,
137+
Bytes: encodedFriendlyName,
138+
},
139+
}
140+
141+
return friendlyNameAttr, nil
142+
}
143+
115144
func (this *PKCS12) makeLocalKeyIdAttr(data []byte) (PKCS12Attribute, error) {
116145
var fingerprint []byte
117146

@@ -232,34 +261,12 @@ func (this *PKCS12) marshalTrustStoreEntries(rand io.Reader, password []byte, op
232261

233262
var certBags []SafeBag
234263
for _, entry := range entries {
235-
236-
bmpFriendlyName, err1 := bmpString(entry.FriendlyName)
237-
if err1 != nil {
238-
err = err1
239-
return
240-
}
241-
242-
encodedFriendlyName, err1 := asn1.Marshal(asn1.RawValue{
243-
Class: 0,
244-
Tag: 30,
245-
IsCompound: false,
246-
Bytes: bmpFriendlyName,
247-
})
264+
friendlyName, err1 := this.makeFriendlyNameAttr(entry.FriendlyName)
248265
if err1 != nil {
249266
err = err1
250267
return
251268
}
252269

253-
friendlyName := PKCS12Attribute{
254-
Id: oidFriendlyName,
255-
Value: asn1.RawValue{
256-
Class: 0,
257-
Tag: 17,
258-
IsCompound: true,
259-
Bytes: encodedFriendlyName,
260-
},
261-
}
262-
263270
certBag, err1 := NewCertBagEntry().MakeCertBag(entry.Cert, append(certAttributes, friendlyName))
264271
if err1 != nil {
265272
err = err1

0 commit comments

Comments
 (0)