Skip to content

Commit 6d6dd32

Browse files
authored
Overwrite ouName (#3)
Allow to overwrite the OU Name. Within containers, the username and hostname are useless (e.g. root@4177a45d09eb)
1 parent c14f30b commit 6d6dd32

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

certgen.go

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ var (
3737
ed25519Key = flag.Bool("ed25519", false, "Generate an Ed25519 key")
3838
orgName = flag.String("org-name", "Certgen Development", "Organization name used when generating the certs")
3939
commonName = flag.String("common-name", "", "Common name for client cert")
40+
ouName = flag.String("ou-name", "", "Organizational unit name for cert. Defaults to username@hostname")
4041
isNoCA = flag.Bool("no-ca", false, "whether this cert should not be its own Certificate Authority")
4142
isClient = flag.Bool("client", false, "whether this cert is a client certificate")
4243
validFrom = flag.String("start-date", "", "Creation date formatted as Jan 1 15:04:05 2011")
@@ -54,18 +55,22 @@ func publicKey(priv interface{}) interface{} {
5455
}
5556
}
5657

57-
var userAndHostname string
58+
var organizationalUnit string
5859

5960
func init() {
60-
u, err := user.Current()
61-
if err == nil {
62-
userAndHostname = u.Username + "@"
63-
}
64-
if h, err := os.Hostname(); err == nil {
65-
userAndHostname += h
66-
}
67-
if err == nil && u.Name != "" && u.Name != u.Username {
68-
userAndHostname += " (" + u.Name + ")"
61+
if *ouName == "" {
62+
u, err := user.Current()
63+
if err == nil {
64+
organizationalUnit = u.Username + "@"
65+
}
66+
if h, err := os.Hostname(); err == nil {
67+
organizationalUnit += h
68+
}
69+
if err == nil && u.Name != "" && u.Name != u.Username {
70+
organizationalUnit += " (" + u.Name + ")"
71+
}
72+
} else {
73+
organizationalUnit = *ouName
6974
}
7075
}
7176

@@ -124,7 +129,7 @@ func main() {
124129
SerialNumber: serialNumber,
125130
Subject: pkix.Name{
126131
Organization: []string{*orgName},
127-
OrganizationalUnit: []string{userAndHostname},
132+
OrganizationalUnit: []string{organizationalUnit},
128133
},
129134
NotBefore: notBefore,
130135
NotAfter: notAfter,

0 commit comments

Comments
 (0)