@@ -29,14 +29,14 @@ type MasterCertificate struct {
2929 Certificate
3030 // MasterKeyring contains encrypted symmetric keys (Base64 encoded) for each field.
3131 // The key is the field name, and the value is the encrypted key.
32- MasterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String `json:"masterKeyring,omitempty"`
32+ MasterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 `json:"masterKeyring,omitempty"`
3333}
3434
3535// NewMasterCertificate creates a new MasterCertificate instance.
3636// It validates that the masterKeyring contains an entry for every field in the base certificate.
3737func NewMasterCertificate (
3838 cert * Certificate ,
39- masterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String ,
39+ masterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 ,
4040) (* MasterCertificate , error ) {
4141 if len (masterKeyring ) == 0 {
4242 return nil , ErrMissingMasterKeyring
@@ -59,8 +59,8 @@ func NewMasterCertificate(
5959
6060// CertificateFieldsResult holds the results from creating encrypted certificate fields.
6161type CertificateFieldsResult struct {
62- CertificateFields map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String
63- MasterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String
62+ CertificateFields map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64
63+ MasterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64
6464}
6565
6666// CreateCertificateFields encrypts certificate fields for a subject and generates a master keyring.
@@ -73,8 +73,8 @@ func CreateCertificateFields(
7373 privileged bool ,
7474 privilegedReason string ,
7575) (* CertificateFieldsResult , error ) {
76- certificateFields := make (map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String )
77- masterKeyring := make (map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String )
76+ certificateFields := make (map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 )
77+ masterKeyring := make (map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 )
7878
7979 for fieldName , fieldValue := range fields {
8080 // 1. Generate a random symmetric key (32 bytes)
@@ -89,7 +89,7 @@ func CreateCertificateFields(
8989 if err != nil {
9090 return nil , fmt .Errorf ("failed to encrypt field value for %s: %w" , fieldName , err )
9191 }
92- certificateFields [fieldName ] = wallet .Base64String (base64 .StdEncoding .EncodeToString (encryptedFieldValue ))
92+ certificateFields [fieldName ] = wallet .StringBase64 (base64 .StdEncoding .EncodeToString (encryptedFieldValue ))
9393
9494 // 3. Encrypt the symmetric key for the certifier/subject
9595 protocolID , keyID := GetCertificateEncryptionDetails (string (fieldName ), "" ) // No serial number for master keyring creation
@@ -106,7 +106,7 @@ func CreateCertificateFields(
106106 if err != nil {
107107 return nil , fmt .Errorf ("failed to encrypt field revelation key for %s: %w" , fieldName , err )
108108 }
109- masterKeyring [fieldName ] = wallet .Base64String (base64 .StdEncoding .EncodeToString (encryptedKey .Ciphertext ))
109+ masterKeyring [fieldName ] = wallet .StringBase64 (base64 .StdEncoding .EncodeToString (encryptedKey .Ciphertext ))
110110 }
111111
112112 return & CertificateFieldsResult {
@@ -128,19 +128,19 @@ func IssueCertificateForSubject(
128128 plainFields map [string ]string , // Plaintext fields
129129 certificateType string ,
130130 getRevocationOutpoint func (string ) (* overlay.Outpoint , error ), // Optional func
131- serialNumberStr string , // Optional serial number as Base64String
131+ serialNumberStr string , // Optional serial number as StringBase64
132132) (* MasterCertificate , error ) {
133133
134134 // 1. Generate a random serialNumber if not provided
135- var serialNumber wallet.Base64String
135+ var serialNumber wallet.StringBase64
136136 if serialNumberStr != "" {
137- serialNumber = wallet .Base64String (serialNumberStr )
137+ serialNumber = wallet .StringBase64 (serialNumberStr )
138138 } else {
139139 serialBytes := make ([]byte , 32 )
140140 if _ , err := rand .Read (serialBytes ); err != nil {
141141 return nil , fmt .Errorf ("failed to generate random serial number: %w" , err )
142142 }
143- serialNumber = wallet .Base64String (base64 .StdEncoding .EncodeToString (serialBytes ))
143+ serialNumber = wallet .StringBase64 (base64 .StdEncoding .EncodeToString (serialBytes ))
144144 }
145145
146146 // Convert plainFields map[string]string to map[wallet.CertificateFieldNameUnder50Bytes]string
@@ -183,7 +183,7 @@ func IssueCertificateForSubject(
183183
184184 // 5. Create the base Certificate struct
185185 baseCert := & Certificate {
186- Type : wallet .Base64String (certificateType ),
186+ Type : wallet .StringBase64 (certificateType ),
187187 SerialNumber : serialNumber ,
188188 Certifier : * certifierPubKey .PublicKey ,
189189 RevocationOutpoint : revocationOutpoint ,
@@ -234,9 +234,9 @@ type DecryptFieldResult struct {
234234func DecryptField (
235235 ctx context.Context ,
236236 subjectOrCertifierWallet * wallet.ProtoWallet ,
237- masterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String ,
237+ masterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 ,
238238 fieldName wallet.CertificateFieldNameUnder50Bytes ,
239- encryptedFieldValue wallet.Base64String , // Base64 encoded encrypted value
239+ encryptedFieldValue wallet.StringBase64 , // Base64 encoded encrypted value
240240 counterparty wallet.Counterparty ,
241241 privileged bool ,
242242 privilegedReason string ,
@@ -296,8 +296,8 @@ func DecryptField(
296296func DecryptFields (
297297 ctx context.Context ,
298298 subjectOrCertifierWallet * wallet.ProtoWallet ,
299- masterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String ,
300- fields map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String , // Encrypted fields
299+ masterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 ,
300+ fields map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 , // Encrypted fields
301301 counterparty wallet.Counterparty ,
302302 privileged bool ,
303303 privilegedReason string ,
@@ -341,19 +341,19 @@ func CreateKeyringForVerifier(
341341 subjectWallet * wallet.ProtoWallet ,
342342 certifier wallet.Counterparty , // Counterparty used when decrypting master key
343343 verifier wallet.Counterparty , // Counterparty to encrypt for
344- fields map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String , // All encrypted fields from cert
344+ fields map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 , // All encrypted fields from cert
345345 fieldsToReveal []wallet.CertificateFieldNameUnder50Bytes , // Which fields to include in the new keyring
346- masterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String , // The original master keyring
347- serialNumber wallet.Base64String , // Serial number needed for encryption protocol/key ID
346+ masterKeyring map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 , // The original master keyring
347+ serialNumber wallet.StringBase64 , // Serial number needed for encryption protocol/key ID
348348 privileged bool ,
349349 privilegedReason string ,
350- ) (map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String , error ) { // Returns the verifier-specific keyring
350+ ) (map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 , error ) { // Returns the verifier-specific keyring
351351 if len (masterKeyring ) == 0 {
352352 return nil , ErrMissingMasterKeyring
353353 }
354354
355355 // Create a new verifier-specific keyring
356- keyringForVerifier := make (map [wallet.CertificateFieldNameUnder50Bytes ]wallet.Base64String )
356+ keyringForVerifier := make (map [wallet.CertificateFieldNameUnder50Bytes ]wallet.StringBase64 )
357357
358358 // For each field to reveal:
359359 for _ , fieldName := range fieldsToReveal {
@@ -397,7 +397,7 @@ func CreateKeyringForVerifier(
397397 }
398398
399399 // 3. Store in verifier keyring
400- keyringForVerifier [fieldName ] = wallet .Base64String (base64 .StdEncoding .EncodeToString (encryptedKeyForVerifier .Ciphertext ))
400+ keyringForVerifier [fieldName ] = wallet .StringBase64 (base64 .StdEncoding .EncodeToString (encryptedKeyForVerifier .Ciphertext ))
401401 }
402402
403403 return keyringForVerifier , nil
0 commit comments