@@ -30,35 +30,34 @@ type SignOptions struct {
30
30
}
31
31
32
32
var (
33
- stepOIDRoot = asn1 .ObjectIdentifier ([]int {1 , 3 , 6 , 1 , 4 , 1 , 37476 , 9000 , 64 })
34
- stepOIDProvisioner = asn1 .ObjectIdentifier (append ([]int (nil ), append (stepOIDRoot , 1 )... ))
35
- stepOIDProvisionerName = asn1 .ObjectIdentifier (append ([]int (nil ), append (stepOIDProvisioner , 1 )... ))
36
- stepOIDProvisionerKeyID = asn1 .ObjectIdentifier (append ([]int (nil ), append (stepOIDProvisioner , 2 )... ))
33
+ stepOIDRoot = asn1.ObjectIdentifier {1 , 3 , 6 , 1 , 4 , 1 , 37476 , 9000 , 64 }
34
+ stepOIDProvisioner = append (asn1 .ObjectIdentifier (nil ), append (stepOIDRoot , 1 )... )
37
35
)
38
36
37
+ type stepProvisionerASN1 struct {
38
+ Type int
39
+ Name []byte
40
+ CredentialID []byte
41
+ }
42
+
43
+ const provisionerTypeJWK = 1
44
+
39
45
func withProvisionerOID (name , kid string ) x509util.WithOption {
40
46
return func (p x509util.Profile ) error {
41
47
crt := p .Subject ()
42
48
43
- irw := asn1.RawValue {Tag : asn1 .TagGeneralString , Class : asn1 .ClassPrivate , Bytes : []byte (name )}
44
- krw := asn1.RawValue {Tag : asn1 .TagGeneralString , Class : asn1 .ClassPrivate , Bytes : []byte (kid )}
45
-
46
- irwb , err := asn1 .Marshal (irw )
47
- if err != nil {
48
- return err
49
- }
50
- krwb , err := asn1 .Marshal (krw )
49
+ b , err := asn1 .Marshal (stepProvisionerASN1 {
50
+ Type : provisionerTypeJWK ,
51
+ Name : []byte (name ),
52
+ CredentialID : []byte (kid ),
53
+ })
51
54
if err != nil {
52
55
return err
53
56
}
54
57
crt .ExtraExtensions = append (crt .ExtraExtensions , pkix.Extension {
55
- Id : stepOIDProvisionerName ,
56
- Critical : false ,
57
- Value : irwb ,
58
- }, pkix.Extension {
59
- Id : stepOIDProvisionerKeyID ,
58
+ Id : stepOIDProvisioner ,
60
59
Critical : false ,
61
- Value : krwb ,
60
+ Value : b ,
62
61
})
63
62
64
63
return nil
0 commit comments