--- /sys/src/libsec/port/x509.c
+++ /sys/src/libsec/port/x509.c
@@ -2538,7 +2538,7 @@ X509gen(RSApriv *priv, char *subj, ulong valid[2], int *certlen)
RSApub *pk = rsaprivtopub(priv);
Bytes *certbytes, *pkbytes, *certinfobytes, *sigbytes;
Elem e, certinfo, issuer, subject, pubkey, validity, sig;
- uchar digest[MD5dlen], *buf;
+ uchar digest[SHA2_256dlen], *buf;
int buflen;
mpint *pkcs1;
@@ -2560,7 +2560,7 @@ X509gen(RSApriv *priv, char *subj, ulong valid[2], int *certlen)
nil)));
certinfo = mkseq(
mkel(mkint(serial),
- mkel(mkalg(ALG_md5WithRSAEncryption),
+ mkel(mkalg(ALG_sha256WithRSAEncryption),
mkel(issuer,
mkel(validity,
mkel(subject,
@@ -2568,11 +2568,11 @@ X509gen(RSApriv *priv, char *subj, ulong valid[2], int *certlen)
nil)))))));
if(encode(certinfo, &certinfobytes) != ASN_OK)
goto errret;
- md5(certinfobytes->data, certinfobytes->len, digest, 0);
+ sha2_256(certinfobytes->data, certinfobytes->len, digest, 0);
freebytes(certinfobytes);
sig = mkseq(
- mkel(mkalg(ALG_md5),
- mkel(mkoctet(digest, MD5dlen),
+ mkel(mkalg(ALG_sha256),
+ mkel(mkoctet(digest, SHA2_256dlen),
nil)));
if(encode(sig, &sigbytes) != ASN_OK)
goto errret;
@@ -2583,7 +2583,7 @@ X509gen(RSApriv *priv, char *subj, ulong valid[2], int *certlen)
mpfree(pkcs1);
e = mkseq(
mkel(certinfo,
- mkel(mkalg(ALG_md5WithRSAEncryption),
+ mkel(mkalg(ALG_sha256WithRSAEncryption),
mkel(mkbits(buf, buflen),
nil))));
free(buf);
@@ -2606,7 +2606,7 @@ X509req(RSApriv *priv, char *subj, int *certlen)
RSApub *pk = rsaprivtopub(priv);
Bytes *certbytes, *pkbytes, *certinfobytes, *sigbytes;
Elem e, certinfo, subject, pubkey, sig;
- uchar digest[MD5dlen], *buf;
+ uchar digest[SHA2_256dlen], *buf;
int buflen;
mpint *pkcs1;
@@ -2628,11 +2628,11 @@ X509req(RSApriv *priv, char *subj, int *certlen)
nil))));
if(encode(certinfo, &certinfobytes) != ASN_OK)
goto errret;
- md5(certinfobytes->data, certinfobytes->len, digest, 0);
+ sha2_256(certinfobytes->data, certinfobytes->len, digest, 0);
freebytes(certinfobytes);
sig = mkseq(
- mkel(mkalg(ALG_md5),
- mkel(mkoctet(digest, MD5dlen),
+ mkel(mkalg(ALG_sha256),
+ mkel(mkoctet(digest, SHA2_256dlen),
nil)));
if(encode(sig, &sigbytes) != ASN_OK)
goto errret;
@@ -2643,7 +2643,7 @@ X509req(RSApriv *priv, char *subj, int *certlen)
mpfree(pkcs1);
e = mkseq(
mkel(certinfo,
- mkel(mkalg(ALG_md5),
+ mkel(mkalg(ALG_sha256),
mkel(mkbits(buf, buflen),
nil))));
free(buf);
@@ -2773,7 +2773,7 @@ X509dump(uchar *cert, int ncert)
pk = decode_rsapubkey(c->publickey);
print("pubkey e=%B n(%d)=%B\n", pk->ek, mpsignif(pk->n), pk->n);
- print("sigalg=%d digest=%.*H\n", c->signature_alg, MD5dlen, digest);
+ print("sigalg=%d digest=%.*H\n", c->signature_alg, SHA2_256dlen, digest);
e = verify_signature(c->signature, pk, digest, &sigalg);
if(e==nil){
e = "nil (meaning ok)";
|